Interface with a blueprintable event?

I have a c++ interface that is marked as CannotImplementInterfaceInBlueprint as I do not want it used in blueprints. I have a c++ actor that implements this interface and I would like to have a function in the interface that derived blueprint class can override as an event.

However if I try to add a function to the interface and set it as BlueprintImplementableEvent in the UFUNCTION I get the following error.

Interfaces that are not implementable in blueprints cannot have Blueprint Event members.

However if I remove the CannotImplementInterfaceInBlueprint then I get the following error.

Interfaces with BlueprintCallable functions but no events should explicitly declare NotBlueprintable on the interface.

But if I declare the interface as NotBlueprintable then I get the previous error again. I’m so confused as to how to resolve this. Anyone know how to have an interface function that can be overridden as an event in a derived blueprint?

1 Like