PrimaryAugmentation has natively added scene component(s), but none of them were set as the actor’s RootComponent - picking one arbitrarily
You need to set at least one component as the root in your constructor. For example assuming you’ve defined a
scenecomponent like this in the header:
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = Translation)
USceneComponent* SceneComponent;
then you would use the following in your constructor to set it as root:
SceneComponent = ObjectInitializer.CreateDefaultSubobject<USceneComponent>(this, TEXT("SceneComp"));
SceneComponent->Mobility = EComponentMobility::Static;
RootComponent = SceneComponent;
As for the second message:
PrimaryAugmentation.DefaultSceneRoot' cannot be attached to itself. Aborting.
This is a bit of a contradiction though as it looks like someone is trying to set DefaultSceneRoot as the component eg:RootComponent = DefaultSceneRoot; (maybe the engine is doing this on its own because you didn’t supply a root component?) and then attaching that component back to root later, eg: DefaultSceneRoot->AttachTo(RootComponent);
Try explicitly setting your rootcomponent first.
If that doesn’t work my question to you would be whether “DefaultSceneRoot” is something you’ve added on your own (eg: from a parent class constructor) or is it coming from a blueprint that you have subclassed from your custom actor?
HTH