Blueprints cannot implement functions from interfaces with no outputs

If you define a function in an interface that has 0 outputs, it will not show up in the blueprints that implement the interface, and thus you have to create a dummy output even if you don’t need it.

C++ equivalent of eg. void MyFunc().

Adding inputs doesn’t change anything.

BellyInterface:

BigBelly blueprint:

Jiggle does not show up in the BigBelly blueprint.

So you have to create a dummy output to implement it:

Furthermore, if you after adding the dummy output and having implemented the now functioning function, remove the output and recompile, all hell breaks lose in the BigBelly:

Calling the unimplemented functions is not a problem however (No point, though, since there’s nothing to call them on):

Functions with no outputs show up as events, not as functions in the interface list. Annoying, but they are there.

Also, to use them you need to add them to the event graph. (So they don’t automatically show up anywhere in the My Blueprint tab.)

That’s an flaw in the UI that it should qualify as a bug.

FYI, four years later but it’s finally logged as UE-95735. :slight_smile: