Bug in FastGeoWorldPartitionRuntimeCellTransformer where it makes a new root component that is moveable and then anything attached to causes warnings.

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

HI Matt, thanks for reporting this.

What I did is keep the original root component mobility.

NewRootComponent->SetMobility(OldRootComponent->GetMobility());The fix in our main branch is in CL 46737113.

Richard

Hi Matt, CL is 46737113.

Oh yea even better, let me know the main CL# when you get it checked in :grinning_face:

Thanks for the quick turn around