Description

A licensee reported that serialization of LevelSequence with StaticMeshActor with default collision for which mesh has NoCollision profile is not deterministic. The issue seems to be in the fact that in the case of default collision StaticMeshComponent loads collision parameters from mesh in UStaticMeshComponent::UpdateCollisionFromMesh method which is called only after mesh is compiled. So if component is being cooked before mesh is compiled then collision parameters are not loaded from mesh resulting in output being indeterministic. He fixed it adding the following piece into UStaticMeshComponent::Serialize before Super::Serialize():

#if WITH_EDITOR
	if (Ar.IsCooking() && bUseDefaultCollision)
	{
		if (UStaticMesh* Mesh = GetStaticMesh())
		{
			if (Mesh->IsCompiling())
			{
				FStaticMeshCompilingManager::Get().FinishCompilation({ Mesh });
			}
		}
		UpdateCollisionFromStaticMesh();
	}
#endif

This appears for the fine as a local fix (the licensee is on 5.5) but Claude found some potential problems if we apply this as is for future release. See the attached analysis file.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-380866 in the post.

1
Login to Vote

Unresolved
ComponentUE - Runtime - Simulation
Target Fix6.0
CreatedMay 21, 2026
UpdatedJul 20, 2026
View Jira Issue