What I am trying to achieve is use UObject as the base class for serialized data classes to use as variables under other UObject or AActor class instances
for example I have an actor ASomeActor that has a variable of type UMoveLogic which is parrent class of ULevitateLogic and UWalkLogic.
UMoveLogic has some base functionality overridden by child classes such as a Move Function with a Vector3 input
and ULevitateLogic and UWalkLogic have some custom variables such as levitate height and walk speed etc.
So in theory in the details panel of a ASomeActor i could select UWalkLogic or ULevitateLogic which would be contained inside ASomeActor it would store data and logic
the problem is when trying to set a UObject Reference it doesnt actualy allow me to create an instance and it wants me to reference a UObject that already exists meaning it has to be either an asset in the directory or created at runtime which is not justifiable for my use case
extra: i found Instanced a UProperty attribute that supposedly forces the engine to create a copy of the UObject variable when copying the actor. interestingly it also creates an internal editor for the UObject in the details panel but the object itself still has to exist somewhere outside of the actor.
simplified version of the question: how to create a uobject for an actor when setting the UObject variable that will be serialized and contained inside of that actor?