Our goal in this tutorial is to make a C++ Delegate (Event Dispatcher) that other developers can use and see in Blueprints. Designers/Developers should be able to bind to this delegate and call their desired functions when it’s broadcast.
Choosing The Correct Delegate Type
Anytime you want your C++ code to work with BP, it has to support reflection. The keyword is Reflection, and of the four types of delegates listed, only 1 supports Reflection.
According to the Documentation, Dynamic Delegates are Delegates that can be serialized and support reflection. This is the only type of C++ delegate Blueprints will see and bind to.
Unreal Engine has so far 4 Types of delegates in their Documentation. They are Single Cast Delegates, Multi-Cast Delegates, Event Delegates, and Dynamic Delegates.