I’ve been doing some refactoring today and ran into an interesting bug with regards to blueprints and C++.
I now have a base class with something like the following defined:
class AOCBase
{
...
UFUNCTION( BlueprintImplementableEvent, Category=Example)
void SetMaterial();
...
}
If I have a subclass that inherits from AOCBase then it too can use the SetMaterial event defined in AOCBase.
class AOCLevelOne : public AOCBase
{
// Still have the blueprint event!
}
But if I subclass AOCLevelOne then suddenly I can’t see the event in the blueprint editor anymore.
class AOCLevelTwo : public AOCLevelOne
{
// Doesn't have the blueprint event! :'(
}
The event can still be fired and still appears in the blueprints if it was already defined - but I can’t add it to anything at the AOCLevelTwo level anymore.