When updating plugins, you must delete any previous version from your project first. This is mandatory since Unity's package importer system doesn't delete or rename existing files so any old scripts that aren't directly overwritten will cause compile errors that prevent anything from working.
UltEvents 3.0.8
- 2025-10-27
- Fixed exception in
MemberSelectionMenuwhen astaticmember is selected.
UltEvents 3.0.7
- 2025-10-19
- Added Display Options for
Show Declaring Type NamesandShow Arrows For Sub Menus. - Fixed member selection with multiple components of the same type to only show the correct one as being currently selected.
UltEvents 3.0.6
- 2025-08-19
- Fixed
PersistentArgument.LinkToto allow changing betweenPersistentArgumentType.ParameterandReturnValue.
UltEvents 3.0.5
- 2024-12-03
- Fixed build error by replacing the editor-only
UltEventBase.ParameterTypeswithGetParameterTypemethod to allow parameter types to be aaccessed generically at runtime.
UltEvents 3.0.4
- 2024-11-30
- Added
PersistentArgument.LinkTomethods for setting an argument toPersistentArgumentType.ParameterorReturnValueusing code. - Removed all custom event types from the Event Holder scripts because Unity now allows serialized fields to directly use generic types.
- This includes
CollisionEvent2D,CollisionEvent3D,TriggerEvent2D, andTriggerEvent3D.
- This includes
UltEvents 3.0.3
- 2024-08-17
- Un-
sealedUltEvent. All the generic versions were already un-sealedand this allows Animancer to have an inheriting class which can be used for Animancer Event callbacks. - Changed the Example scene into a hidden Sample which can be imported via the Package Manager.
- Changed the type picker menu to support context menu style in Unity 2023 since it's now searchable and scrollable.
- Added
IUltEvent.Invoke. - Added
UnityEventCompatibilitycontaining extension methods forAddCallbackandRemoveCallbackto giveUltEventsan API likeUnityEvents. - Added conditional compilation symbols for
UNITY_PHYSICS_3Dand2Din case those modules have been disabled. - Fixed
UltEventUtils.GetPlacementNameto give the proper values beyond "3rd". - Fixed potential
NullReferenceExceptioninUltEventBase.ToString.
UltEvents 3.0.2
- 2024-01-04
- Changed the type picker menu to use
GetNameCSinstead ofFullNameso that primitive aliases likefloatcan be used instead of needing their full names (System.Single). - Fixed
PersistentCallDrawer.GetSupportedTypesto ignore dynamic assemblies instead of throwing an exception.
UltEvents 3.0.1
- 2024-01-03
- Fixed build error in
PersistentCall.
UltEvents 3.0.0
- 2024-01-01
- Features:
- Added support for getting and setting fields directly.
- Replaced the method selection menu with an
AdvancedDropdownwhich has a nicer layout and inbuilt search bar.- The old context menu style can be reactivated by selecting "Display Options -> Context Menu Style".
- Consider using the old style in Unity 2023+ because its context menus are natively searchable and scrollable.
- Added
Operatorsfor simple math. - Added
ReflectionCachefor more efficient initialization of events that reuse the same types for static member access. - Removed the
UltEventsUtils.InvokeXextension methods since you can just useultEvent?.Invoke();. - Improved the UltEvent Inspector to highlight the event header in red if any of its calls are invalid so you can find problems easier if they're collapsed.
- Improved the "Attempted to Invoke a PersistentCall which couldn't find it's method" warning to include the name of the method it was looking for and mention Unity's Script Stripping in Runtime Builds.
- Housekeeping:
- Increased the minimum supported Unity version to 2021.3.
- Moved from Assets/Plugins to the Packages folder so UltEvents can be referenced by other Packages.
- Renamed the Assembly from
UltEventstoKybernetik.UltEventsto match package assembly naming guidelines. - If you have any Assembly Definitions which reference a previous version of
UltEvents, make sure they have "Use GUIDs" enabled before upgrading. Otherwise, you will need to re-assign those references. - Added a separate
Kybernetik.UltEvents.Editorassembly for Editor-Only stuff.
- Renamed the Assembly from
- Updated code to use newer C# features: expression-bodied members, null-coalescing operators, out parameter declarations, range operators, string interpolation.
- Fixes:
- Fixed
Serializationsystem to better handle[SerializeReference]fields. - Fixed
MethodSelectionMenuheadings to respectBoolPref.ShowFullTypeNames. - Fixed call reordering to not break linked return values.
- Fixed constructors to work properly.
- Fixed
UltEvents 2.2.0
- 2021-08-20
- Increased the minimum supported Unity version to 2018.4.
- Improved the
Serializationscript:- Improved
Serialization.GetValueandSetValueto directly accessCharacterandGradientproperties. - Changed
Serialization.PropertyAccessor.FieldandFieldTypeto be private and addedGetFieldandGetFieldElementTypemethods so that it can support[SerializeReference]fields where inheritance might prevent theFieldInfofrom being accessible just based on the field type. - Added support for inheritance in
[SerializeReference]to theSerializationsystem. - Added
Serialization.CopyValueFrom. - Added
IsDefaultValueByTypeandResetValue. - Renamed
ArrayPropertyAccessortoCollectionPropertyAccessorand added methods for accessing the collection itself rather than the target item. - Fixed errors when trying to get or set the value of a property with a null object somewhere in its chain.
- Fixed
Serialization.GetValueto work properly when the property has multiple different values. - Fixed
Serialization.PropertyAccessor.ResetValueto run the constructor of the field's current type so that it can reset[SerializeReference]fields to the defaults of the current type instead of null.
- Improved
UltEvents 2.1.0
- 2020-03-06
- Added
UltEventBase.DynamicInvokewhich takes anobject[]. - Added a display option for "Use Indentation" to optionally fill the full Inspector width instead of indenting properly.
- Flipped the
GetandSettoggles for properties.Getis now shown when the getter is selected rather than as a button to change to the getter. - Fixed exception caused by the UI Elements system when resizing arrays containing UltEvents.
- Fixed a few GUI spacing issues in Unity 2019.3+.
- Fixed the
Click to add a listenerlabel to not disappear when opening the context menu. - Refactored
SerializedPropertyReferenceintoSerialization.PropertyReference.
UltEvents 2.0.0
- 2019-06-03
- Moved everything out of the precompiled DLL to make it easier to access and modify the source code.
- Replaced PDF user manual with a website hosted at kybernetik.com.au/ultevents.
- Added support for constructors.
- Added interfaces corresponding to all
UltEventtypes so that the ability to add and remove listeners can be exposed without exposing the ability to invoke, clear, or access other members of the event. - Fixed cached
PersistentArgumentvalues to be cleared properly when the user modifies the argument in the Inspector. - Removed the Parameter Constructors sub-menu because it isn't particularly useful now that actual constructors are supported.
UltEvents 1.2.0
- 2018-09-11
- Fixed an issue where persistent arguments using parameters or returned values would cache the first value they were given and keep using that.
- Changed structure of source code project back to having the Runtime project link all the files in the Editor project. Shared Projects are more hassle than they're worth.
UltEvents 1.1.0
- 2018-07-21
- Fixed invocation to not allocate garbage every time for value type parameters.
- Changed structure of source code project to use a Shared Project instead of having the Runtime project link all the files in the Editor project.
UltEvents 1.0.0
- 2018-07-10
- Initial release.