Multi-cast Delegates
- Multi-cast delegates have most of the same features as single-cast delegates. They only have weak references to objects, can be used with structs, can be copied ... can be loaded/saved, and triggered remotely; however, multi-cast delegate functions cannot use return values.
- Add, AddStatic, AddRaw (unsafe if object deleted), AddLambda (for lambdas that do not capture pointers), AddSPLambda, AddWeakLambda (only called if weak UObject reference valid), AddSP (fast, not thread-safe), AddUObject, Remove (O(N); order may not be preserved), RemoveAll (removes all bound to UserObject; Raw delegates not bound to an object pointer not removed).
- Broadcast() — always safe even if nothing is bound. The execution order of bound functions when calling Broadcast() is not defined.