I’ve been writing some custom blueprint nodes recently, and I have the need for asynchronous/latent functionality. I know that I can subclass UK2Node_BaseAsyncTask
and implement some fields to have out-of-the-box latent handling, but upon looking at the implementation of ExpandNode
on UK2Node_BaseAsyncTask
, I noticed that it is essentially creating a Delegate + Event and wiring them up for me.
So my question is, why ever use a latent node instead of using a Delegate pin on your node and connect your own event to it? Delegates and events are first-class citizens in UE4, so it seems strange to hide them from the user within a latent node’s implementation. Are there advantages to generating these Delegate + Event nodes at blueprint compile time?