[Request] Event Dispatchers on Interfaces

I’m trying to get rid of circular references involving UMGs on my project since 4.6 doesn’t like that at all. That involves hiding the BP class that deals directly with my widget classes behind an interface. However, there’s a big limitation on interfaces: you can’t declare event dispatchers on them. Combined with the fact that it’s impossible to pass delegates around blueprint-only functions/properties, it’s not possible to make an interface that features any sort of callback/broadcast mechanism. The work around is to rely on some 3rd party to perform the dispatching, like a shared object/actor that contains the event dispatchers, so here’s a humble request: would it be possible to allow interfaces to declare dispatchers as well as methods/events?

This would be super useful, +1

Example use case might be a queueing system, Queue maintains a list of Queueable interfaces. The element at the front of the queue fires the Dequeue event declared on the interface when it’s done.

BUMP… i would love to use this feature right now.

I have logged this as a feature request here Unreal Engine Issues and Bug Tracker (UE-40957) . You can track the status of the request as it is reviewed by our development staff. Please be aware that this request may not be implemented, or that it may not be prioritized to occur anytime soon.

Cheers

Are there any news regarding the issue? The issue page still just says “Unknown Issue”.

Hey philm-

There is no new news about this issue, it is still open in our system however our resources are currently dedicated elsewhere. We don’t have a timeframe for when this may be addressed. Please keep in mind that with source code access, a programmer on your project can implement your own solution, and you are welcome to share that result with Epic for possible integration.

Any updates on this? I’m finding a real need for interface define event dispatchers and quite frankly surprised this isn’t currently supported. The linked ticket says “Unknown Issue” so can we take that to be a dropped request?