Scene Graph editable class instances can share data across prefab instances and copied array elements

Summary

Editable properties backed by Verse class objects do not always remain independent in Scene Graph. This appears in two related scenarios:
A: Editing a nested property on one placed prefab instance can also change the same property on another instance of the prefab.
B: Copying and pasting an editable class element inside an array can cause the original and copied elements to remain linked.
This creates a risk of silently overwriting unrelated instance configuration.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Scene Graph

Steps to Reproduce

Reproduction A:
Prefab Instances

  1. Add test_component to a Scene Graph entity.
  2. Save the entity as a prefab.
  3. Place two instances of the prefab in the level.
  4. Ensure only one instance is selected and edit Settings.Enabled in the level Details panel, not in the Prefab Editor.
  5. Under some circumstances, Settings.Enabled also changes on the other placed prefab instance.

Reproduction B:
Copied Array Elements

  1. Add an element to Entries using the + button.
  2. Configure its nested properties.
  3. Copy that array element and paste it as a second element.
  4. Change properties on the pasted element.
  5. Observe that properties on the original element can change as well.
    Creating the second element as a new empty element with the + button does not reproduce the issue.

Expected Result

Expected A:
The edited property becomes an override belonging only to the selected prefab instance.

Expected B:
Copying an array element should create an independent deep copy.

Observed Result

Observed A:
The nested property can propagate to another prefab instance even though the parent prefab was not edited.

Observed B:
The original and copied elements appear to retain shared references or shared nested data.

Platform(s)

All

Additional Notes

  • Direct scalar properties on the component can remain independent correctly.
  • The issue is most apparent with nested class properties and arrays containing class instances.
  • No runtime Verse code modifies these values.
  • The behavior occurs during editor authoring.
  • Explicitly editing the parent prefab is not involved.
  • A possible cause is shallow copying or incorrect override tracking for instanced Verse objects.

Workaround

  • Do not copy and paste editable class elements in arrays.
  • Create new empty elements with the + button.
  • Explicitly override the component or outer property before editing nested values.
  • Delete and recreate elements that may already share references.

This is critical for complex games!
High data-integrity risk: editing one configuration can silently modify unrelated prefab instances or array entries.

FORT-1144136 has been added to our ‘To Do’ list. Someone’s been assigned this task.