Abstract function in class but implemented in blueprint?

Just to be sure to exclude this use case of strategy in learning UE C++

When there is a class structure as the two first lines of the code and then create a blueprint out of the last, is it true there is no way to call a function created at the blueprint from the parent class?

Or can there be some sort of abstract function to be implemented at the blueprint?



class base;
class descent : base
{
virtual void func() = 0;
};

/* BLUEPRINT */
blueprint BPdescent : parent class descent
create and implement descent::func() 


Regards,

If you seek to call a function in C++ and have that function run in BP, you need the UFUNCTION macro.


UFUNCTION(BlueprintImplementableEvent, Category = "")
void SomeFunction(...); // no need for definition, call this directly

UFUNCTION(BlueprintNativeEvent, Category = "")
void SomeFunction(...); // no need for definition, call this directly
void SomeFunction_Implementation(...); // define this, and this code runs if the BP code either does not exist, or calls parent.

1 Like

Just implemented this and it seems it is what I seek. Thanks for helping out .

You know, UE team, this is a neat functionality. Therefor thanks. As if the rest of the engine is less, not.