Components hierarchy get changed on play

I have a script in which i create some components and attach them to root component.
ABoxMaster::ABoxMaster()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don’t need it.
PrimaryActorTick.bCanEverTick = true;
SceneRoot2 = CreateDefaultSubobject(TEXT(“SceneRoot”));
RootComponent = SceneRoot2;
StaticMesh = CreateDefaultSubobject(TEXT(“StaticMesh”));
StaticMesh->SetupAttachment(SceneRoot2);
MeshParent = CreateDefaultSubobject(TEXT(“MeshParent”));
MeshParent->SetupAttachment(StaticMesh);
InstanceStaticMeshComponent = CreateDefaultSubobject(TEXT(“ProductInstanceMesh”));
InstanceStaticMeshComponent->SetupAttachment(MeshParent);
}
This hierarchy works completely ok but when i start the game it changes to this: