Publisher | AugmentedDesigns |
---|---|
File size | 276.47kB |
Number of files | 95 |
Latest version | 1 |
Latest release date | 2022-03-01 04:18:13 |
First release date | 2022-03-01 04:18:13 |
Supported Unity versions | 2018.4.2 or higher |
Events are Awesome! But tricky at the same time. A Project that uses lots of events can raise questions like:
- Where are my events coming from?
- When are they triggered?
- How many times are they triggered?
- Who is listening to them?
- How many are listening?
- What values are being past along?
These are the kinds of questions that Trackable Events help to answer. By combing the best aspects of UnityEvents and C# Events you can track events in your code and in the Editor.
See who’s listening
Trackable Events show up in the inspector and display all Listeners. Includes a Ping button to highlight the GameObject of the listener.
Quickly Test Events
Click the Trigger button on the Event to quickly Test your Event. Also includes fields to input Test Values.
Global Events (Super Useful!)
Trackable Events inside Scriptable Objects, so that they can be references easily from anywhere. Even across scenes. This makes your project flexible and scalable. Also includes example of how to set this up as Event Channels (multiple events in a Scriptable Object) for an extra layer of organization and modularity.
If you want to know more about this kind of stuff check out this Unite Talk, which was the starting point of this Asset.
Useful Event Logs
Finely control which events get logged to the console to see where the events are coming from and where they are going. Logs the Sender’s Method + Class, the Listener’s Class + Method, the Value within the Event, and the amount of listeners.
Easy to Use and Extend
Makes using Events quick and easy. Lots of Event Types are supported out of the box, but you can add as many types as you like with a handy Editor Tool. Simply type in the Type and voila!
Performant
Started out with UnityEvents as the basis, but then found this Interesting Article and decided to switch to C# Events, because they have better performance.
Background
I started extending Events because my projects used a lot of them and it wasn’t always clear what was happening. Over time these extensions become more ‘extensive’ and fleshed out. So I thought I’d redesign it into a comprehensive Asset and make it available for you here. Hope you find it as useful as I have!