It depends on component type ![]()
. If your component doesnât need to âtalkâ to the
engine (rendering/collision/navigation/replication) then you donât even need to register it.
Simply put, if a component inherits from USceneComponent then a call to RegisterComponent () is required.
If you want the actorâs transformation to affect the component as well, you need to use AttachTo* function. (implicitly requires registration)
InstanceComponentâŚ
From what I understand, InstanceComponent is just a convention, some standardization of access to âoptionalâ components. Actor does not have to own such a component.
In Actor constructor you can only use CreateDefaultSubobject. This creates a kind of âshapeâ of a Actor. Adds given component to related UClass, so any instance of this Actor have its âby defaultâ. Unlike instanced components, which may only contain certain instances of a given actor.