[C++]: Adding actors to character: Root Comment:

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