I’m building a series of actor components that are designed to act like ‘Modules’ which are supposed to interact with and control each other - but in a scriptable fashion. An Actor class implements a bunch of these modules and their behaviour needs to be tied together in the actors node graph.
The modules themselves have some native code that defines some basic behaviour and in many cases events are fired off. These events can be created in the actor blueprint and talk to other components just fine. Unfortunately however, there doesn’t seem to be a way to do this for Native/Implementable functions. I’m trying to find a way to ‘Override’ a BlueprintNativeEvent UFUNCTION that belongs to an Actor Component, in the owning Actor’s Blueprint Class. So far - it seems as though there is no native way to achieve this.
UMG Property Bindings seem to exist to get around this problem, but that system looks pretty complex and doesn’t look very portable either so porting that to my special ‘module’ actor components looks like an uphill battle.
My other idea is to try and hook into the Blueprint Editor directly, and create an extension which looks for all BlueprintNativeEvents on the Actor Components of an Actor, and create the override function in the Actor’s Event Graph Blueprint. I’m not sure if the latter is even possible or if that will even work as expected, but that’s the end result I’m looking for.
TL;DR - What can I do to allow an Actor Blueprint to create overridden functions for it’s components, so that my modules work together, or is there some UPROPERTY-type that allows me to do things like this?