Error prone scene graph editor behavior

Summary

When an editable component data field references a concrete entity from the scene or maybe even the prefab graph and such entity gets deleted, the editor does not remove the references automatically. Instead it keeps the deleted entities around and prefixes those with TRASH_*. If the same reference was used many many times, the editor will make it really hard to debug this problem and to find where such trashed entity is still around.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Stability

Steps to Reproduce

test_component := class<final_super>(component) {
  @editable
  SomeEntity: entity
}
  • Place two entities into the scene
  • Add the above component on one of these entities
  • Link / reference the other entity with the editable field
  • Delete the referenced entity from the scene
  • The reference will now become TRASH_*

Expected Result

The editor should automatically remove the references and flag the fields as not being initialized!

Observed Result

The editor silently keeps a trashed reference which will create errors in the project that are hard to catch, debug and fix.

Platform(s)

UEFN

The above ticket is a duplicate of FORT-870988 which will be addressed in a future update. Editable references in scene graph prefabs stay unique and are not being overridden in the main level - #10 by Bug-Reporter

@Flak Please reopen this issue, as this hasn’t been addressed at all, nor is it this a duplicate of the issue you linked. This issue is about that deleted entity references are being replaced by TRASH_* entities and create unnoticed bugs in your graph, which may or may not will lead to crashes at runtime.

vz_simple_reference_component := class<final><final_super>(component) {
  @editable
  ETarget: entity
}

Before deleting the entity in the outliner:

image

After deleting the entity in the outliner:

image

cc @Incredulous_Hulk

Proposed solution: Reset all references to their overridden state. If in code there was a default value, use the default value again, if there was no value at all, then make it Set to Value and flag all these entities as being not fully initialized.

FORT-871015 is re-opened

1 Like

FORT-871015’s status has changed to ‘Ready for QA’. A member of the QA department is investigating the issue.