Description

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.

Steps to Reproduce
  • Create a project with a persistent map that uses world partition
  • Create a second map without world partition, which will be loaded dynamically
  • Create Static Mesh Actor 'BP_ChildActor', using a Cube or other Mesh for visual representation
  • Create Actor 'BP_ParentActor', containing a ChildActor component. The ChildActor component has 'BP_ChildActor' as its child actor class
  • Place 'BP_ParentActor' inside the second map, with an offset of a few meters from zero point of the map
  • Inside the Level BP of the persistent map, use the 'Load Level Instance (by Object reference)' node to load the second map dynamically on begin play. For parameter 'Location' use an offset X = -500
  • When played inside the editor, the second map will load correctly and the mesh from 'BP_ChildActor' will be visible
  • After packaging the project and playing the packed build in UE 5.4.4, the mesh from 'BP_ChildActor' will not be visible. In UE 5.5, the mesh will be visible but loaded at the zero point of the map, without any offset applied
    (Engineer note: When testing the user's reproduction steps on a fresh 5.4.4 project, the 'BP_ChildActor' was never invisible, but was loaded at the zero point of the map)

Have Comments or More Details?

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

2
Login to Vote

Unresolved
ComponentUE - Gameplay - Components
Affects Versions5.55.4.4
Target Fix5.6
CreatedOct 31, 2024
UpdatedNov 8, 2024
View Jira Issue