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
CreatedMay 21, 2026
UpdatedMay 29, 2026
View Jira Issue