Hey @cronofear, welcome!
It sounds like the
SkookumScriptBehaviorComponent is what you want to use.
See this post below.
I use these behavior components myself to create reusable functionality that can be added to any actor. In my case I make C++ base classes that inherit from
UCLASS(ClassGroup = (Custom), meta = (BlueprintSpawnableComponent))
class SPACEGAME_API URadarBehaviorComponent : public USkookumScriptBehaviorComponent
If my components need to reference other components, I typically create an
FName variable and then have the BP creator put the name of the optional component in manually so the component can look for it when play begins. I generally keep things out of the constructor because I’m unsure what order component construction occurs in and whether it might differ if I build shipping for instance.
Are you trying to do this entirely in or are you also using C++ to write some of your classes?