In-World Widget still visible in-world when parent entity gets culled at distance

Summary

We have an entity that moves in-world using scene graph keyframe animations (think very similar to the conveyor belt in Droid Tycoon) and has an in-world widget as a child of that entity. When the player runs far enough away from the entity, the parent entity gets culled appropriately, however the child widget entity remains in world and essentially gets orphaned. When the player returns back in-range, everything respawns as it should, however the orphaned in-world widget remains stuck in world and won’t move or get destroyed.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Scene Graph

Steps to Reproduce

NOTE: The entity will require being moved to properly observe the bug, otherwise it would simply reappear in the exact same location and not be noticed. You can apply a simple keyframe movement animation to it so it moves to the side for a duration before destroying the entity.

  1. Create a prefab with a mesh_component at the root level, and a child in-world widget entity to it.

  2. Launch a session and run out of range of the entity so it gets culled (in my video, when you see the hot-air balloon disappear, that is an entity being culled that is near the entity in question)

  3. Return back to the entity and see the in-world widgets that did not get culled and remain “stuck” in world.

NOTE: This is a client-side bug, other players on the server will not see the orphaned widgets.

Expected Result

No orphaned in-world widgets

Observed Result

Orphaned in-world widgets

Platform(s)

Windows

Video

FORT-1127294 has been created and its status is ‘Unconfirmed’. This is now in a queue to be reproduced and confirmed.

Adding a Part 2 to this, I tried building a workaround solution by doing a distance check on the entity and doing SetPresentable on the entire entity root node, but as you can see, the in-world widgets remain in world while the rest of the entity disappears properly.

For reference, here is what the Prefab entity hierarchy looks like. I tried moving the Widget up a level as well but there’s no change.

Apologies for the repeated follow ups, but I have more info that will help narrow things down.

While continuing to search for a solution I have determined that this bug only exists if you add the in-world widget at the Prefab level. I tried removing the widgets from the prefab, and instead spawn them at runtime via Verse, and now the widgets disappear properly when doing both the SetPresentable and when culled at distance.