Lore [Automatic Backup] commits mass-delete actors without user action, corrupting production maps between sessions

Severity: HIGH

Summary

Lore commits tagged [Automatic Backup] are landing mass-delete changesets on the project’s main branch without the user performing any deletions in the editor. Multiple documented occurrences on the same project:

  • Rev 4371 — ~156 file mass-delete. Class Designers dropped from 28 → 8, 1 landscape gone, teleporters affected, class-selector cluster untouched (initial mis-diagnosis on my end — see Additional Notes).
  • Rev 4388[Automatic Backup] 157 changes at 21:23:52 UTC. Same profile: Class Designers again dropped 28 → 8, landscapes and teleporters affected. This occurred on top of a fresh manual revert we had just committed as rev 4387 to undo occurrence #1.
  • Rev 4395[Automatic Backup] 158 changes at 01:31 UTC (2026-07-13). Same profile, this one on a snapshot branch that the CLI had silently left as current after a lore branch create. Devices missing from map on next reopen.
  • Rev 4396 — Editor-committed corrupt state during publish flow. This one persisted through UEFN’s own Save All / Check In dialog, not [Automatic Backup] — but the eviction that fed it is the same underlying bug.

Every event was committed by Lore as if the user made 150+ deletions in a single action. No such deletions were made. UEFN was, in every case, running with the project open — no crash, no ungraceful shutdown, no branch merge that would introduce the deltas.

Recovery each time requires lore revision revert <signature>, which is destructive to any legitimate work in the interim and requires the user to know the correct hash to revert to. There is no editor-side UI path to detect or undo an auto-backup mass-delete.

Please select what you are reporting on

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

Unreal Revision Control

Steps to Reproduce

UPDATE (2026-07-13): Where I previously stated that neither occurrence was reproducible on demand because the user was not performing destructive actions before either commit, further reproduction has since isolated the trigger. The mass-delete occurs during Memory Calculation or immediately after it starts, and continuing through the subsequent auto-launched Fortnite session that Publish spawns while Memory Calc is still calculating. Definitely after Memory Calc starts. The bug does NOT fire when the user attempts an Upload to Private Version whose upload fails before Memory Calc runs. So the trigger is the Memory Calc phase of the Publish flow — not the Publish action itself.

All occurrences shared:

  • Project has World Partition + OFPA enabled
  • UEFN’s Auto Save is enabled by default (EditorLoadingSavingSettings.AutoSave=True in EditorPerProjectUserSettings.ini, AutoSaveMethod=BackupAndRestore, bAutoSaveOnLaunch=True)
  • UPDATE: Auto Save and “Auto Save during iteration” were both tested in the disabled state. Disabling them had no apparent effect on the bug either way — the mass-delete still fires. This rules out UEFN’s Auto Save as the trigger.
  • Lore has connectivity to the remote branch at commit time
  • Commit message on the mass-delete is the literal string [Automatic Backup] 157 changes (or similar count) — indicating a scheduled Lore-side backup mechanism, not a user-driven commit

Expected Result: An automatic backup commit — if such a feature exists at all — should never delete actor files that the user did not delete in the editor. At minimum, an automatic commit that would delete more than N files should be blocked and surfaced to the user for confirmation. Better: no automatic backup should ever produce a destructive changeset without an explicit user save action that intended those deletions.

Observed Result: Lore silently commits 150+ file deletions attributed to the user, with no user gesture that caused them. The commits push to the remote branch on next connectivity. The corrupted state becomes the canonical project state until the user notices and manually reverts. Devices lost in-editor across occurrences include Class Designers, Class-and-Team Settings & Inventory devices, Accolades devices, Stat Powerup devices, and other configuration devices. Additionally the asteroid dome geometry (129 asteroids placed in a hemisphere) reverts to a prior unshaped scatter, though those specific mesh actors are not deleted — only their transforms are lost.

On Reproducibility: Willing to share full lore history output, revision signatures (4063c30744312c35af35aa6ca861511ce23d48ea0254ec46fdb1b196e3e55e7b for occurrence #1, 3f116a504d9b24973aa7fa281f55cb938f99602d011d10887565e83608f78c50 for occurrence #2, plus several since), pre/post actor manifests, and OBS video attempts of devices vanishing from the Outliner during Memory Calc, on request.

Discussion — I/O assessment

This is common sense to the level that you could not charge people money for this product in its current state and survive as a company. And you’re drowning because people can’t get to the point of success where the licensing fees activate — because the FIRST and MOST fundamental things don’t work in your editor, and what is brilliant in there, the UI dysfunction sabotages, as a rule.

Timeline of documented occurrences

Time (UTC) Revision Event Actor delta
2026-07-12 ~afternoon 4371 Auto-backup mass-delete #1 ~156 files deleted, incl. 20 Class Designers, landscape, teleporter
2026-07-12 ~20:00 4387 Manual revert of 4371 by user (via lore revision revert) +156 files restored
2026-07-12 21:23:52 4388 Auto-backup mass-delete #2[Automatic Backup] 157 changes ~157 files deleted, same actor classes as #1
2026-07-12 21:39:37 4389 Auto-backup — 1 change
2026-07-12 21:39:37 4390 Auto-backup — 1 change
2026-07-12 ~22:15 4391 Manual revert of 4388 by user +157 files restored
2026-07-12 22:10:31 4394 User manual commit — merge of the revert into main
2026-07-13 01:31:07 4395 Auto-backup mass-delete #3[Automatic Backup] 158 changes, on an insurance snapshot branch that the CLI had silently left as current ~158 files deleted
2026-07-13 01:49:18 4396 User commit after devices vanished during publish flow, capturing corrupt in-memory state 129 files (asteroid transforms — the user’s session work at the time)
2026-07-13 02:02:57 4397 Manual revert of 4396 by user +129 files reverted
2026-07-13 03:45:39 4400 User manual commit — pre-emptive save before further reproduction attempts

Platform(s)

PC (Windows 11)

Video

I tried to capture. Imagine somebody actually ripping all the wires out of your game and lighting it on fire, repeatedly — how colorful your language could get. Just imagine, there in the Outliner, all your ■■■■ that you worked for possibly days to place, arrange, and wire ISN’T any longer, by no action you took or permission you gave, or possibly having any coherent explanation.

Additional Notes

  • UEFN was closed when the recovery revert was run for occurrence #2. No process contention on the .uasset files during revert.
  • Post-revert MCP scan of the persistent level confirms restored counts: Device_ClassDesigner_V2_C back to ~28, Device_Teleporter_V2_C back to 37, Device_ClassSelector_V2_C unchanged at 27 (this class was never affected — an earlier preliminary note of “0 class selectors” was a diagnostic filter error searching for the wrong class name and is not evidence of loss). Loss of Class Designers, and of Class-and-Team Settings & Inventory devices, was confirmed in triplicate including in-editor and visually searching for the devices. Many other devices including Accolades, Stat Powerups, and several other categories were deleted as well.
  • The pattern was originally suspected to be: (a) UEFN evicts actors from the in-memory level manifest due to an unrelated bug (candidate: OFPA streaming for unloaded WP regions being treated as “no longer referenced”), and (b) an auto-save-triggered Lore commit then propagates that in-memory eviction as a persistent 150+ file delete. UPDATE: The auto-save half of this chain has been apparently ruled out by testing with Auto Save and Auto Save on iteration both disabled — the mass-delete still fires. So it is Lore’s own scheduled backup mechanism, not UEFN Auto Save, that is committing the corrupted state.
  • The Save Content dialog on editor close was observed offering to save the packages of the missing devices as pending modifications. Clicking “Save Selected” in that state would have persisted the deletion to disk manually — same failure mode as auto-backup, triggered by the user unwittingly. Cancel / Don’t Save preserves the on-disk .uasset files, and reopening the project surfaces the actors again because the in-memory eviction was never persisted.

Impact

  • Data loss on production maps. Every occurrence wipes 150+ hand-placed actors including class designers (player class configuration), and has been observed less commonly deleting landscapes (world geometry), teleporters (spawn logic), etc. Total re-placement time per event: multiple hours if the user cannot identify the correct pre-corruption revision. The “Unreal standard” 10–100× as long as anything should take if programmed correctly or if it had a common-sense UI or professional-level testing or documentation (looking at management, not the actual talent).
  • Blast radius unbounded. The changesets go to remote via lore push on next connectivity. If a collaborator syncs before the user notices, the corruption propagates.
  • Silent commit attribution. The commit is attributed to the user (Creator: moonligh7er, Committer: moonligh7er) even though the user made no deletions. Blame trails are useless for diagnostics. Wrong attributions are substandard for a would-be “enterprise”-grade editor.
  • No editor-side warning or dialog when the delete happens during Memory Calc or during the auto-launched Fn session that Publish spawns during Memory Calc. UEFN only surfaces the missing-actor state after the fact — when the user goes to Commit Changes and finds the changelist gutted, or when they re-open the project and the Outliner is missing devices, or when they attempt to playtest and Class Selectors do nothing. The user only discovers the loss after (a) reopening the project and seeing missing actors, (b) inspecting lore history, or (c) attempting to playtest and no class selectors work.
  • Trust erosion in source control. Users learn they cannot leave UEFN idle with revision control on — a regression on the fundamental “save-often” workflow every editor promotes. This is not professional, not sustainable, not worth anything when everything takes 100× longer than necessary to maybe-ever work, and then might be deleted without action / permission / notice even if it does.
  • Recovery hostile to non-CLI users. Recovery requires the Lore CLI (lore history, lore revision revert <hash>). There is no in-editor “restore previous revision” or “diff last commit” UI. A creator without CLI experience would lose the work permanently. A creator in Fortnite Creative (non-UEFN) — from my understanding — does lose the work permanently. Somebody owes a lot of people an apology for their time, to say the least.

Suggested root cause (informed guess)

Best-guess causal chain — flagged as speculation at best:

  1. An unrelated UEFN subsystem (candidates: World Partition streaming for regions unloaded due to memory pressure, GroupActor + OFPA eviction bug, or a background async load failure) drops actors from the level’s in-memory manifest while their __ExternalActors__ .uasset files remain untouched on disk. This is triggered specifically during the Publish flow’s Memory Calculation phase and the Fn session auto-launch that runs concurrent with it.
  2. UEFN’s Auto Save fires at its next interval and re-serializes the level manifest to disk. Ruled out by testing: Auto Save was disabled and the bug still fired. Something Lore-side (a scheduled backup timer or file-watcher) picks up the difference between the in-memory manifest and the disk manifest, or between the disk manifest and the last-known-clean commit, and stages the diff as a mass-delete.
  3. Lore diffs the workspace, sees that ~157 __ExternalActors__/.../*.uasset files are no longer referenced by the level manifest, and treats them as user-intended deletions. It stages and commits them under the [Automatic Backup] label.
  4. The commit is auto-pushed to remote on next connectivity, propagating the corruption.

Requested fixes (ordered by impact-to-effort)

  1. Bulk-delete safety valve on auto-backup commits. If an [Automatic Backup] commit would delete more than N files (suggested N = 5), refuse to commit and surface a modal to the user: “UEFN is about to record a deletion of 157 actor files that you did not delete in the editor. Continue?” Default: no.
  2. Never auto-push destructive auto-backup commits. Keep them local until the user has reviewed and confirmed. The current auto-push behavior means corruption ships to collaborators before the user notices.
  3. In-editor “restore previous revision” UI. UEFN should expose lore history + lore revision revert equivalents in a dialog — one-click “roll back to previous auto-backup” without CLI.
  4. Distinguish user-intended deletes from evicted actors. If an actor is missing from the manifest but its __ExternalActors__ file is untouched (no DeleteObject transaction in the editor’s undo history), treat it as a candidate eviction bug, not a delete. Do not stage its file for removal.
  5. Fix the underlying eviction. Track down what is silently removing actors from the level manifest during Memory Calc + Fn session auto-launch. Likely candidates: World Partition streaming under memory pressure, GroupActor + OFPA writeback, async load failures triggered by the concurrent session launch.
  6. Correct commit attribution. Auto-backup commits should not be attributed to the user as Creator / Committer. Use uefn-automatic-backup or similar so blame trails are meaningful.

Workaround (current)

Not a fix — closes the window and adds a manual insurance layer:

  1. In UEFN, open Revision Control Login and set Provider to None (revision control disabled). This disconnects the editor from Lore so Lore’s own scheduled backup timer cannot commit anything. The Lore repository on disk and remote remains fully intact — lore history, lore revision revert, and lore push continue to work.

  2. Commit to Lore manually via the CLI after each meaningful save session:

    lore stage .
    lore commit -m "your message"
    lore push
    
  3. Before each Lore commit, run lore status and visually confirm the changeset does not contain unexpected mass deletions.

  4. When the corruption fires anyway (it can still hit during publish attempts even with Provider = None), close UEFN without saving — if the Save Content dialog appears listing packages of missing devices, click Cancel or Don’t Save. The on-disk .uasset files stay intact and the devices come back on next reopen.

Previously suggested and ruled out: Editing %LOCALAPPDATA%\UnrealEditorFortnite\Saved\Config\WindowsEditor\EditorPerProjectUserSettings.ini to set EditorLoadingSavingSettings.AutoSave=False, AutoSaveMethod=None, and bAutoSaveOnLaunch=False was tested and had no apparent effect. Auto Save is not the trigger — Lore’s own backup mechanism is.

None of this fixes the eviction — it only prevents the corrupted state from being committed without user review. The only durable fix is Epic addressing the eviction upstream.

Discussion (broader)

Between teleports not working for no reason (if there’s a dysfunctionally-petty limit, document it) and somebody’s worthless or half-done work wasting / literally deleting mine, this editor as-is is worthless to the future of my company, me, and most of the would-be creator community. I’d like to see an even slightly functional version, but general failure to correctly order priorities beyond the level of a remedial child (FIX, YOUR, EDITOR) doesn’t point that way. Fix, your, editor, starting with sync. There is nothing else you need to be working on until that is addressed. Or, good luck, really.

Get rid of Lore entirely until you can do it right. Idk if somebody’s not skilled enough to resolve timezone differences in their code lol or what the issue is, but it’s too stupid to sync one user let alone a team. Under no circumstances should an editor be overriding, undoing, or straight up MAKING UP the decisions of the owner and only developer on a project without action or permission — randomly, or on an incoherent trigger, and still without notice. This is an example of a long list of things that indefensibly-fish-tank-IQ management is not prioritizing as emergent, exactly on-brand with the famous schizo incoherence and half-function of the editor and UI at large — which has diverged entirely from modern standards or sensibility in any area other than the brilliant bits we can’t get to because the basics don’t work no matter how much gold you toss into a dumpster fire. This stuff — that users have been telling you is deleting their work, that for some reason is still broken — should have never been released as a finished product, or even mentioned yet. Like physics.

Notable edits to original post: Where I previously stated that neither occurrence is reproducible on demand because the user was not performing destructive actions before either commit (despite being incorrectly logged as being the user’s action), further reproduction has since isolated the cause to occurring more specifically after memory calc. is started (not mere upload to private version) and after the subsequent auto-launch of a Fortnite session, but while memory is still calculating.

Auto-save and autosave during iteration were not necessarily thought to have any effect but were turned off for later tests and confirmed that their setting actually has no apparent effect on the failure or resolving it.

I am sorry for this bug report quality, I’m reporting from inside of an actual flaming clown car where nothing is sensible and everything is hostile, and it gets confusing.

“This topic will automatically close in 6 months.” Is that why most things are un-fixed years later (other than inability to manage ordinal priorities)? Closing unresolved tickets? Huh. Manually closing tickets like physics breaking all movement as “working as intended” is definitely not helping either though (working as intended, in this universe I guess, is different from working correctly/practicably/really at all).

Can you please provide repro steps:

  • that trigger this without using the CLI?
  • that trigger this with the CLI used while the UEFN project is CLOSED?

Using the CLI with UEFN is not recommended in general, and especially not with the project open.

What CLI operations are you doing while UEFN is open? Are you doing things like sync, branch switch, branch merge, revertor such?

Please note that:

  • You can sync a previous local backup using the Branch Explorer using the Load Backupfunctionality that you get when clicking on a backup node in the graph view.
  • Lore works on a file level. If a file is missing from disk it will track it as such, regardless if that file is deleted by the user in UEFN, by the user in Windows Explorer or via any other means. It would be important to figure out who/what is deleting these files. If you do CLI operations while the project is open, the CLI will change files on disk that the editor will then track as changed/deleted/added. Therefore again, - in general - do not use the CLI while the project is open in the UEFN editor.

Thanks for engaging.

Repro without CLI:

Yes. Occurrence #1 (rev 4371) happened with zero CLI use up to that point, in the project (Python via MCP listener or the editor are how I do everything, never live edit (in-game) or CLI. Sequence was: normal in-editor work → Save All → in-editor Check In Changes → then Publish flow, specifically the Memory Calculation step. Devices vanished from the Outliner during Memory Calc (and continued vanishing through the auto-launched Fn session that Memory Calc spawns concurrently). lore history after the fact showed a commit tagged [Automatic Backup] 156 changes, attributed to me, that I did not author — the CLI was not invoked to produce it. It was seemingly Lore’s own scheduled auto-backup mechanism.

Important distinction: plain Upload to Private Version does NOT seem to trigger this — that path completes and yellow-flags Memory Calc as undone on the published build. It’s Memory Calculation specifically that apparently triggers the mass-delete, whether invoked directly or force-invoked by the editor as a required step before upload to pvt version (which I believe is when this bug started manifesting for me).

I only used the CLI after each occurrence, for recovery — never before. CLI was more an example of what a user shouldn’t have to engage with just to not have their stuff deleted.

Repro with CLI used while UEFN is CLOSED:

The mass-delete itself does not trigger from CLI use while UEFN is closed. Every recovery lore revision revert I’ve run was performed with UEFN closed (verified via Get-Process returning no UnrealEditorFortnite; also I closed the editor myself and then monitored it in Task Manager to wait for it to ACTUALLY close), and those reverts cleanly restored state without producing any fresh mass-delete. So on the specific question of “does the bug reproduce via CLI-with-project-closed” — no, it doesn’t.

What CLI operations I do while UEFN is open:

Only read-only ones during a session: lore history, lore status, lore branch info. Nothing that modifies disk. All destructive CLI operations (lore revision revert, lore branch switch, lore push of new commits) have been done with UEFN fully closed.

On the [Automatic Backup] tag:

That commit-message label is Lore’s own — it’s how Lore tags the commits its scheduled backup mechanism produces, not a message any user (CLI or otherwise) typed. If you can point me at where in the codebase that label is emitted, that would help pin down the responsible subsystem. Might be the smoking gun. This is a Lore-side or UEFN→Lore-integration-side auto-commit, not a user action.

“Who / what is deleting these files”:

Best current hypothesis, flagged as speculation:

  1. UEFN’s Memory Calculation phase runs (either directly invoked or force-run by the editor before certain uploads), and auto-launches a concurrent Fn session as part of the same flow.
  2. During that window, actors are evicted from the in-editor level manifest (candidates: World Partition streaming under memory pressure, OFPA writeback failure, GroupActor eviction bug — all previously observed on separate reports).
  3. Lore’s scheduled backup timer captures the diff between the current in-memory manifest and the last-known-clean state, and commits it as [Automatic Backup].
  4. The commit auto-pushes to remote on next connectivity.

Note: Auto Save + Auto Save during iteration were both disabled in EditorPerProjectUserSettings.ini (EditorLoadingSavingSettings.AutoSave=False, AutoSaveMethod=None, bAutoSaveOnLaunch=False) and the mass-delete still fires — so UEFN Auto Save is ruled out as the persistence path. Something Lore-side is picking up the corrupt state.

Plain Upload to Private Version without Memory Calc: does not trigger the mass-delete. That’s the counter-example that isolates Memory Calc as the causal step, not the Publish/Upload path in general.

Load Backup via Branch Explorer:

I hadn’t tried that specific UI path — was recovering via lore revision revert <hash> from the CLI. I’ll test the Branch Explorer Load Backup as an alternative recovery on next occurrence and report back on whether it produces cleaner results than the CLI revert. Thanks for the pointer, but in no case would that working make this problem require any less address. I should not have to revert anything let alone continually; that would be beyond deranged. It’s one user; it’s not like it’s failing to manage a conflict, it’s CREATING the conflict. My things should not be deleted at all without explicit action let alone permission or notification, period, not once, and certainly not re-enforcing itself multiple times thereafter. I won’t write much important in what I know to be disappearing ink no matter how nice the color.

If I were to approve one of the messages about “save these unauthorized changes?” (which always appears for the first visible time only after-the-fact of the deletion — the editor never announces or asks permission for the deletion as it’s happening), it would delete this stuff from my DISK too, no? X_X Game over.

Sequencing note that may matter: I publish a correct version with intact devices → what actually reaches the game reflects the broken version with everything deleted. This isn’t “upload succeeds cleanly and then something separately deletes in my editor” — the game itself receives the corrupted state. That timing suggests the deletion may originate inside Memory Calc’s runtime pass or in the Fn session load itself, and then feeds back to the editor via whatever channel the session uses to communicate level state, despite zero edits having been made in the editor.

And for the Creative kids, separately, their work IS just GONE (unless they have a revert option — but the consensus seemed to be that one didn’t exist… can’t confirm, I don’t use Creative).

Willing to share: full lore history output around each occurrence, revision signatures, actor-count deltas pre/post, and OBS video attempts of the Outliner losing devices mid-Memory-Calc.

Thanks for the additional feedback.

So what I gather are:

  • You say that during UEFN’s Memory Calculation phase a mass-delete occurs where devices vanished from the outliner during the memory calculation and devices continue to vanish throughout the auto launched Fn session).
  • Lore, in turn, tracks these deletes and performs an automatic backup.

The real question then becomes why these deletes are happening during the Memory Calculation phase. From what you’re saying, Lore works as intended: it should track the deletes. But the deletes should not happen in the first place.

Could you record a video of the mass-delete as it happens to you?

Does your project have multiple different levels (that are potentially loaded and unloaded during the memory calculation phase)?