Help tracking down a NaN crash with bounds.

I’m updating my plugin from 4.27 to 5.1.1.

I have actors that use spline mesh components to create editor workflows. The components are essentially instances components since they are not created as default subobjects in the constructor of the actor. I believe this to be the root of the issue.

Essentially they are setup as such. They are non transactional because they are dynamically modified by a different value.

UPROPERTY(NonTransactional)
TArray<SplineMeshComponent*> LiftSections;

I have another tool to parses some XML and spawns these actors in the editor world. It also sets the actor label on import for some friendly names. In 4.27 this does not count as a property changed event, but in 5.1.1 it does create a property changed event from an actor.
Code is as such.

LiftSpawnParams.NameMode = FActorSpawnParameters::ESpawnActorNameMode::Requested;
				LiftSpawnParams.Name = *(GetName() + "_Lift");
				ALift* Lift = WorldToSpawnIn->SpawnActor<ALift>(FVector::ZeroVector, FRotator::ZeroRotator, LiftSpawnParams);

Lift->SetActorLabel(GetName() + "_Lift");

Once the property changed event occurs it will cause the editor to hang permanently. As strange as it sounds I believe it is a bounds issue, where something in 5.1.1 has changed where the component/mesh bounds are not immediately created after spawning in the editor?

The editor will hang for any of my code that tries to access the bounds of the components or if I run the actors Super::PostEditPropertChanged.

If I drag an actor from the actor picker window this issue does not occur, it’s only when it’s created directly from code in the editor.