Skip to main content

Unregistering Events

NodeRemoves
Unregister Event By ObjectThe listeners that one object registered for an identifier
Unregister Event Name By ObjectThe listeners that one object registered for a name
Unregister EventAll listeners for an identifier, from every object
Unregister Event NameAll listeners for a name, from every object
Unregister EventsEvery listener for every event, and the whole queue

Stop listening from one object​

In most cases you want an object to stop listening without affecting anyone else. Use Unregister Event By Object with self as Object, for example on EndPlay or when a Widget is closed.

Object must be set. If it is empty, nothing is removed and a warning is logged. To remove every listener, use Unregister Event instead.

Effect on queued events​

Unregistering also cancels calls that are already queued for the removed listeners. A listener that is unregistered in the same frame as an event was invoked will not receive it. Unregister Events clears the whole queue.

It is safe to unregister from inside a callback, including Unregister Events.

Do I have to unregister?​

Not for destroyed objects. They are removed automatically (see Scope and Lifetime). Unregister when an object that is still alive should stop listening, or when you want to clear events on purpose, for example when returning to the main menu.