"Level instance edit mode" restores unsaved actors previously deleted in persistent level.

Hello,

We’re having an issue which happens in Unreal 5.7.3 vanilla.

Going into a packed level instance edit mode within a level make that level loose track of deleted actors not yet saved to disk.

Exiting the level instance edit mode puts the user back in the main level were it doesn’t show that anything needs saving but the actors are still visibly deleted (they don’t appear in the outliner nor are they visible in the viewport) but those modifications aren’t saved to disk or tracked anymore. Doing other modifications on the level doesn’t affect the issue, new modifications will be saved when saving the level but the deletion modifications are lost.

This is confirmed when re-opening the level where the previously deleted actors re-appear.

Note: This only happens when using One File Per Actor (but I believe without World Partition activated).

[Attachment Removed]

Steps to Reproduce

  1. Open a Level which is configured with One File Per Actor.
  2. Place one or more Actors and a Packed Level Instance (PLA) Blueprint.
  3. Save the Level.
  4. Delete the Actors but keep the PLA.
  5. Don’t save the Level.
  6. Right-click on the PLA in the Level and choose “Level -> Edit”.
  7. Exit the Level Instance Edit Mode (Save or Cancel).
  8. Note that the Level is now marked as “All Saved” and that the deleted Actors are still deleted.
  9. You can do more edition to the Level and save it or close the Level at this point.
  10. Re-open the same Level.

Result: The previously deleted Actors re-appeared.

Expected Result: Going out of the Level Instance Edit Mode should show the main Level as having modifications that needs to be saved (the deleted Actors) to match the current state of the Level where those actors appear to be deleted.

[Attachment Removed]

Hello!

I was able to reproduce the problem in 5.7 but it’s not happening in the Main stream. The editor proposes to save the deleted actor when I try to open a new level (Step 10). I couldn’t find a CL or an internal report about that issue. I have a feeling that it was fixed as a side effect of another change. I’ll keep on searching and report here if I find something.

Martin

[Attachment Removed]

Hello Martin,

We think we have found the CL fixing that issue: CL 49108049 ([World] Support LevelInstance Enter/Exit edition callbacks).

Thanks!

[Attachment Removed]

Hello,

This CL adds a new delegate but there is nothing bound to it so we don’t think it is related.

Martin

[Attachment Removed]