Delegate output pin not showing in custom blueprint node

The problem is with the engine, sort of.

The blueprint nodes that are created for BlueprintAsyncActionBase function can only support a single delegate signature. If you changed the names of the parameters for all but FOnProjectileCreated you’d find that even your UTraceProjectileBase parameter would be missing. If you take a look at the places in the source where the UBlueprintAsyncActionBase is used you’ll see that there is only ever one delegate type declared and it’s reused for all the assignable delegates of the async task. Regardless of whether or not the parameters make sense in all those cases.

If you’re on a source build and you’re comfortable making engine changes, there is a pending pull request (https://github.com/EpicGames/UnrealEngine/pull/10552) that you could use to modify your engine to work the way that you’re expected. Although I believe you’d have to rename some of your delegate parameters so that there aren’t any overlapping names.

Or simplify down to one delegate with the projectile and hit results, use that for all your delegates and just live with the fact that you have to provide an empty collection in a couple of cases.

1 Like