Extended Events is an event system for Unity that provides a flexible and customizable way to handle events in your game or application. It allows you to serialize almost any method or data type, making it a powerful tool for a wide range of use cases.
With Extended Events, you can create multiple callback types in a single event object, invoke events with a delay, and even start or stop coroutines without using a separate method. You can also use custom parameter drawers to customize the way parameters are displayed in the Inspector.
Some of the key features of Extended Events include:
- Support for any method or operator with up to 8 parameters
- Support for instance methods defined on structs
- Support for methods with any return type
- Native serialization of various data types, including bool, int, float, and more
- Custom serializer and PropertyDrawer support for serializing any type
- Multiple callback types in a single event object
- Invoking events with a custom argument
- Timeline, coroutine, and iteration support
- Custom parameter drawers for any parameter on any method
Whether you're building a complex game or a simple application, Extended Events is a powerful tool that can help you handle events in a flexible and efficient way.
Extended Events supports any method or operator with up to 8 parameters, including instance methods defined on structs. It also supports methods with any return type and allows the returned value to be used as a parameter in other methods.
The package also includes native serialization support for various data types, including:
- bool
- int
- float
- string
- types derived from UnityEngine.Object
- interfaces defined on those types
- enums
- uint
- LayerMask
- Vector2
- Vector3
- Vector4
- Color
- Quaternion
- character
- Type
- Rect
- AnimationCurve
- Gradient
Additionally, users can create their own serializers and PropertyDrawers to serialize any type, including custom structs or classes.
Extended Events also allows users to create multiple callback types in a single event object, invoke events with a custom argument, and use timeline, coroutine, and iteration support.





