Description

When loading a static mesh asset created in an old version of Unreal (e.g. 4.10), all LODs have their Screen Size property set to the same value (approximately 1.5). This happens because the static mesh is accidentally flagging the mesh as needing legacy LOD distance conversion on serialize. Specifically the SetRequiresLODScreenSizeConversion method is setting the bRequiresLODDistanceConversion to true instead of the similarly named bRequiresLODScreenSizeConversion bool. The GetRequiresLODScreenSizeConversion method also references the incorrect boolean. This results in a double conversion, first from the legacy LOD distance, which is a deprecated property and will have a value of 0, this 0 value will be converted to 1 by the LOD distance conversion. Following this the legacy LOD screen size conversion will run, converting all LOD screen sizes from a Screen Area of 1. This results in a value of about 1.5 for each LOD’s Screen Size property.

Steps to Reproduce
  • From an Unreal 4.10 project, import a static mesh with multiple LODs
  • Turn off Auto Compute LOD Distances on the mesh
  • Migrate the mesh to an Unreal 5.6 project
  • Open the mesh in the Unreal 5.6 project
  • Observe that every LOD now has the same screen size of approximately 1.5

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Editor - Content Pipeline
Affects Versions5.75.8
CreatedSep 11, 2025
UpdatedSep 12, 2025
View Jira Issue