HOW TO: Call Specific Events From Event Dispatcher?

I’ve been trying to implement an OnEquipped event for items so when they are equipped they can use the event to do something. I used an event dispatcher to call these events BUT the dispatcher is calling all of the events. Is there any way to call specific events? For example, the dispatcher should ONLY call to the equipped items to fire their events. The actual binding is executed on the parent item, (as a template so I don’t have to copy & paste all the time.) and the children use the event as an override. IF there is NOT a solution, is there any way I can achieve this?

The screenshot is the parent blueprint, where the binding is executed.

If I get you correctly, and you want that “the dispatcher should ONLY call to the equipped items to fire their events”, this could be done by unregistering events.
When an event dispatcher is called, always all curently registered actors get executed their registered events. To make some event not being executed, you need to do an unbind.
So if an item is unequipped in your case, you need to unbind from events, you do not want to receive.

313167-unbind.png

That’s what event dispatchers are for, calling everything that has subscribed.

Blueprint interface is the one where you get to call specific actors.

This was exactly what I’m looking for! Before this I haven’t looked into interfaces much but they seem amazing to work with. Will use in the future!