What is the difference between event dispatcher and blueprint interface?

Hi guys!

I am a bit confuse about event dispatcher, from the documents in UE4, i know that event dispatcher having the ability to communicate with other blueprint.(Just like blueprint interface)

But event dispatcher have binding functions, what actually binding events use for?

Can someone explain to me about this?

Because some people are using this to solve problems, why not blueprint interface?

I would like to know what is the features that make event dispatcher able to survive until UE4.5.

Actually the main part that i don’t really understand is the usage of binding


Event dispatcher helps when you want to fire and event from the class bp in the level bp

So event dispatcher is just for communication between level BP and normal BP?

The main difference is, a dispatcher allows you to hook up the logic from the reciever, “listen for this event from that.”
While an interface is, “I should talk to this trough that.” An interface is also A LOT bigger, it is the possiblity to overload the behavior in many stages or implementations but calling them all trough the same name kinda…

Blueprint interface will be usefull if you need to communicate the same information to different types of blueprint, for example a large serie of traps and doors and lift and vehicles which work or not depending on the stuff the character is wearing (like a clearance badge).

Event dispatchers will be usefull to link an event to another, even not in the level blueprint. To have more indeep informations on event dispatchers, have a look there :
Event Dispatchers | Unreal Engine Documentation for general infos, and there :
2. Required Character Setup | Unreal Engine Documentation for an example.

Edit : I’ve just seen this good example af an event dispatcher use for two events in same blueprint : JSON Query - Released Projects - Unreal Engine Forums

Fen- Thx for the links, quite helpful in cleaning some of my question

TheSpaceMan - Not quite understand about the logic you mention, can you give an example for a better understanding? I will be Appreciate on that

By now, i found that custom events, blueprint interface, and event dispatcher can achieve what i want.

But i prefer using custom events, because i need networking to be done in my project

I’m guessing Dispatchers are only viable for communicating with the Level BP since BPIs don’t work for the Level BP. For everything else, BPIs work fine