Here is the bug in FastGeoWorldPartitionRuntimeCellTransformer.cpp:
else if (USceneComponent* OldRootComponent = Actor->GetRootComponent(); OldRootComponent && !IsValid(OldRootComponent))
{
// Replace removed root component with a SceneComponent and remap attachment of other components
USceneComponent* NewRootComponent = NewObject<USceneComponent>(Actor);
NewRootComponent->SetRelativeTransform(OldRootComponent->GetRelativeTransform());
Actor->SetRootComponent(NewRootComponent);
NewRootComponent->SetMobility(EComponentMobility::Static); // FIX - This component is moveable by default and anything attached to it will fail if its static.
Actor->ForEachComponent<USceneComponent>(false, [OldRootComponent, NewRootComponent](USceneComponent* Component)
{
if (Component->GetAttachParent() == OldRootComponent)
{
Component->SetupAttachment(NewRootComponent);
}
});
}
Let me know if you fix this in main and we can get rid of our local edit.
Thanks for the help,
Matt