Unreal Engine 5 · Blueprint → C++
Call Event Dispatcher in Unreal Engine 5 C++UE Docs
Calling a Blueprint Event Dispatcher in C++ means invoking Broadcast on the delegate, for example OnHealthChanged.Broadcast(CurrentHealth);. This fires every function bound to the dispatcher.
Blueprint node & C++ equivalent
OnHealthChanged.Broadcast(CurrentHealth);How do you call an Event Dispatcher in C++?
The Blueprint Call Dispatcher node maps directly to the delegate's Broadcast function. Pass the arguments that match the delegate's declared signature: OnHealthChanged.Broadcast(CurrentHealth); sends CurrentHealth to every bound handler.
Because it is a multicast delegate, a single Broadcast call invokes all subscribers in turn. Listeners that bound after the broadcast started are not called for that broadcast.
Matching the broadcast arguments
The argument list passed to Broadcast must match the parameters declared in the DECLARE_DYNAMIC_MULTICAST_DELEGATE macro. Since FOnHealthChanged was declared with one int32 parameter, Broadcast takes exactly one int32.
If no function is bound to the dispatcher, calling Broadcast is safe and simply does nothing. You do not need to null-check the delegate before broadcasting.
Frequently asked questions
How do I trigger an event dispatcher from C++ in UE5?+
Call Broadcast on the delegate instance, passing arguments that match its signature, for example OnHealthChanged.Broadcast(CurrentHealth). Every bound listener, in C++ or Blueprint, then runs.
Is it safe to Broadcast when nothing is bound?+
Yes. Broadcasting a multicast delegate with no bound listeners is safe and does nothing, so there is no need to check whether the dispatcher has subscribers first.