Do Event Dispatcher Bindings Get Removed Automatically?

A good day, everyone

I just want to know if an event dispatcher binding gets unbound automatically when the object gets garbage collected, or is it best practise to unbind it manually (like on end play)?

Only if the object is bound to another object’s dispatcher and there is the possibility that dispatcher could be fired after the bound object has been “destroyed” (but hasn’t been garbage collected yet).

So I guess it’s best practise to unbind the event dispatcher manually to avoid unpredictable behaviour, correct?

Yes. Having objects that are supposed to be “dead” responding to event dispatchers can cause unpredictable bugs that are very hard to track down. For example, UMG widgets responding to events after being removed from the viewport.

Thanks, that answered my question. I’ll mark it as correct.