Listening to On Drag Detected event within Drop slot widget

Hi! I’ve made a slot based drag-n-drop system. Both draggable elements and slots are dynamically generated. By now on the slot’s Drag Enter I check if my Type variables match on both ends and change the color of the slot to give some feedback (if the types match I allow to drop here). But it works if only I drag over the slot. And I want to color all of the corresponding slots whenever I start dragging any of the elements.

Is there a way to tell slots to listen to the On Drag Detected? In other words how can I tell every slot to compare their types to the one in DragDropOperation when the drag has started?

I found out about blueprint interfaces. So I’ve added a blueprint interface with two functions: one for drag start and another for drag cancel. Then added this interface to my Slot blueprint. That gave me two events: one for checking the type and giving visual feedback, another for reseting appearance Slots to normal. Then in draggable element blueprint I fire two messages that would be handled by the interface: one on Drag Detected and another on Drag Canceled.

Check out WTF? is Blueprint Interface it’s pretty straightforward