This is still incredibly useful, three years later. I wish Unity would incorporate most of these things into UnityEvents.
A downloadable Unity Package
UltEvents is a Unity plugin which allows you to easily setup and configure persistent event callbacks via the Inspector. It serves the same purpose as the inbuilt UnityEvents, but has superior features with fewer restrictions and an improved Inspector interface which requires fewer clicks to perform individual tasks.
Check out the Documentation to get started.
UltEvents have superior features with fewer restrictions than UnityEvents:
-> Supports more parameter types: Enum (regular and flags), Vector (2, 3, 4), Quaternion, Rect, Color, Color32.
-> Call methods with any number of parameters (UnityEvents can only do 0 or 1).
-> Call methods with non-void return types and use the returned value as a parameter in subsequent calls.
-> Call non-public methods, static methods, and even constructors.
-> Get and set fields directly.
-> Full source code is included and well documented so it is easy to modify if necessary.
UltEvents have an improved Inspector:
-> Searchable method selection menu with various display options instead of clunky context menus.
-> Collapse the event into a single line to occupy less screen space.
-> Parameter-less functions only take a single line.
-> Full method signatures are displayed instead of only the name.
-> Select a listener on a specific Component when there is more than one of the same type on the target object.
-> Keyboard shortcuts and context menu functions allow you to easily Copy, Paste, Add, Delete, and even Invoke events in the Inspector.
-> Button to quickly find a similarly named method if the target is missing.
-> Dynamic listeners are displayed in the footer (ones added by code).
Individual tasks also tend to require fewer clicks with UltEvents:
-> Instead of needing to add a new listener then drag in a target, you can just drag the target onto the event.
-> Instead of needing to select a listener then press the remove button in the footer, each listener has its own remove button.
-> If you assign a component as the target, it will immediately open the method selection menu which will let you select methods directly from that component instead of going through a sub-menu every time.
If you like this asset, please consider buying some of my other assets:
-> Animancer gives you the ability to play and control animations dynamically at runtime using simple scripts instead of manually configuring inflexible Animator Controllers that encourage bad programming practices.
-> Inspector Gadgets provides a variety of enhancements to the Unity Editor which can be useful for anyone.
-> Weaver lets you avoid littering your code with magic strings and provides a framework for generating procedural assets.
Click download now to get access to the following files:
Log in with itch.io to leave a comment.
This asset is marvellous, Ive been trying to create something similar for my students and as a productivity tool for repetitive tasks but ive stumbled upon Your version and its beautifully usefull. Could I extend it with the code ive made myself and fork it on github?
Do you need to make any significant changes to UltEvents itself?
If possible, I would prefer for you to only post your extensions with an explanation of how to download UltEvents and make any necessary modifications.
I was investigating the ability to implement search box for dropdown menu for easier exploration of methods and parameters. Cause now its kinda pain when you manage to find something in a big list and it closed because youve moved a mouse a little bit. I would contribute some extensions for quick gameplay prototyping like Unity input interfacing.
I really like your asset. I've been using it for a while now.
If possible I would like to request a feature.
Could you maybe add a search bar feature where the user could search for a method?
For example when using this asset with a text mesh pro object, to find a method in that massive list is insane (as seen in the image).
So I thought a method search bar would be awesome feature to have and will cut down on the number of lists you need to go to find a method tucked away somewhere.
Well, this is still a great asset.
That could be a very useful feature, but unfortunately I don’t have the time nowadays to do any further development on UltEvents so I’m not likely to be able to implement it any time soon.
Ah. No stress, you will or my buddy will or I will 🤣. I just know someone will add it.
All the best with whatever is keeping you busy boet. Hopefully you spin up some awesome new tools for the community.
You should make a GitHub repo so people could make pull requests for features like this.