When loading a non-world partitioned level into a persistent world partitioned level, parent actors with child actor components within the loaded map will move position or become invisible. Within the attached sample project, they are invisible, but when recreated with the reproduction steps provided on a fresh 5.4 project, they have their world position set to zero point in the map.
This occurs when an actor blueprint is created with its mesh's Mobility set to Static or Stationary, then childed to a parent actor blueprint via a child actor component. This also happens when a Static Mesh actor is used and childed, regardless of Mobility. When "Child Actor Is Transient" is marked as True on the child actor component of the parent actor, this issue is circumvented and fixed.
The expected behavior is that when one level is loaded into another, the actors present within that level are visible and have their positions set correctly. I believe that the way the mesh's locations are determined rely first on checking the Mobility, and while Static or Stationary the level does not move their position accordingly, and instead sets them in the default position (0, 0, 0). Loading a level into another should not check Mobility in regards to setting the position or visibility of these meshes.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-229282 in the post.
0 |
Component | UE - Gameplay - Components |
---|---|
Affects Versions | 5.5, 5.4.4 |
Target Fix | 5.6 |
Created | Oct 31, 2024 |
---|---|
Updated | Nov 8, 2024 |