(Scene Graph) Descendant mesh components cannot be disabled when a duplicate entity ID exists in the entity hierarchy of the mesh component

Summary

Descendant mesh components cannot be disabled when a duplicate entity ID exists in the entity hierarchy of the mesh component.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Stability

Steps to Reproduce

  1. Create an entity prefab component

  2. Copy the entities until your hierarchy contains 2 entities, in sequence, with the same ID.

  3. Place an entity with a mesh as a descendant of these 2 entities. The outliner should look like this:

    P_NAME
      entity_id_duplicate
        entity_id_duplicate
          mesh_entity
    
  4. Add the following component to P_NAME that disables descendant mesh components at game start.

    using { /Verse.org/SceneGraph }
    using { /Fortnite.com/Game }
    
    test_child_mesh_visible_component<public> := class<final_super>(component):
      OnBeginSimulation<override>():void =
        (super:)OnBeginSimulation()
        if:
          FortRoundManager := Entity.GetFortRoundManager[]
        then:
          FortRoundManager.SubscribeRoundStarted(OnRoundStarted)
    
      OnRoundStarted():void =
        for (DescendantMesh : Entity.FindDescendantComponents(mesh_component)):
          Print("Disable Descendant Mesh")
          DescendantMesh.Disable()
    
  5. Run the game

Expected Result

The descendant mesh component on mesh_entity should be disabled (not visible).

Observed Result

The descendant mesh component is visible.

Platform(s)

PC

Video

I haven’t been able to get two entities with the same ID in the prefab editor. I tried Ctrl + C & Ctrl V, Ctrl D, and Alt Drag with no luck. Do you have any additional information how you got the duplicate IDs? Thanks

I walk through how to get the duplicate ID in the hierarchy in the video at 54 seconds! https://youtu.be/mAf-o46Yh6s?t=54

Written Steps:

  1. Create a hierarchy of entities:

    entity_1
      entity_2
         mesh_entity
    
  2. Duplicate entity_1

    entity_1
      entity_2
         mesh_entity
    
    entity_1 <--- The New Copy
      entity_2 <---
         mesh_entity
    
  3. Take the descendant entity_2 from the new copy and move it into the original entity_1

    entity_1
      entity_2 <--- MOVE IT UNDER THIS ONE
         mesh_entity
    
    entity_1 <--- The New Copy
      entity_2 <--- MOVE THIS
         mesh_entity
    

Expected:
All entities in the hierarchy should be unique.

Actual:
Entities have the same ID in the hierarchy.


NOTE: I suspect the duplicate ID is the cause of the mesh component not being disabled, but it could be a red herring. Regardless, something is causing the mesh component to remain visible when it should not be.

Thank you! I was able to reproduce this issue. We will get someone on this.

1 Like

The status of FORT-945452 changed to ‘Needs Triage’. We’ve confirmed the issue and it’s waiting to be assigned to someone to fix it.