UnityEvent
A zero-argument event callback that persists with the Scene and allows the registration of runtime and persistent listeners.
Read time 1 minuteLast updated 7 days ago
Definition
- Type: Class
- Namespace: UnityEngine.Events
- Assembly: UnityEngine.CoreModule
- Inherits from: UnityEventBase
- Implements: ISerializationCallbackReceiver
public class UnityEvent : UnityEventBase, ISerializationCallbackReceiver
Remarks
You can use this class to add runtime listeners or define persistent listeners in the Unity Editor. You can also use this class to manage callbacks for game events or UI interactions. This is particularly useful for game components to communicate without tight coupling. UnityEvent can also be awaited in any async method.
Examples
using UnityEngine;using UnityEngine.Events;public class ExampleClass : MonoBehaviour{ UnityEvent m_MyEvent; void Start() { if (m_MyEvent == null) m_MyEvent = new UnityEvent(); m_MyEvent.AddListener(OnEventTriggered); } void Update() { if (Input.anyKeyDown && m_MyEvent != null) { m_MyEvent.Invoke(); } } void OnEventTriggered() { Debug.Log("Callback executed"); }}
Constructors
Constructor | Description |
|---|---|
| UnityEvent() | Initializes a new instance of the UnityEvent class. |
Methods
Method | Description |
|---|---|
| AddListener | Adds a runtime listener to the UnityEvent. |
| Invoke | Invoke all registered callbacks both runtime and persistent. |
| RemoveListener | Removes a runtime listener from the UnityEvent. |