Adding a reference to an external actor in the level blueprint causes the package for the actor to be put in the import table of the level. In some cases, the actor package can end up calling postload before the levelinstance does, this ends up calling postload on ULevel which creates Upackages for all external actors in the level. These are added to the ConstructedObjects list for the imported actor. That actor now doesn't complete load until everything else in the level is loaded, at which point if one of the external actor packages has been destroyed null the editor crashes.
OFPA (One File Per Actor) is enabled.
Expected
Editor doesn’t crash
Actual
Editor crashes sometimes
<unknown> 0x0000008000000001 FAsyncLoadingThread2::ProcessLoadedPackagesFromGameThread(FAsyncLoadingThreadState2&, bool&, TArrayView<const int, int>) AsyncLoading2.cpp FAsyncLoadingThread2::TickAsyncLoadingFromGameThread(FAsyncLoadingThreadState2&, bool, bool, double, TArrayView<const int, int>, ...) FAsyncLoadingThread2::ProcessLoadingFromGameThread(FAsyncLoadingThreadState2&, bool, bool, double) ProcessAsyncLoading(bool, bool, double) AsyncLoading2.cpp:4525 FAsyncLoadingThread2::ProcessLoading... (ProcessAsyncLoading) AsyncPackageLoader.cpp:373 StaticTick(float, bool, float) UObjectGlobals.cpp:844 UEditorEngine::Tick(float, bool) EditorEngine.cpp:1780 UUnrealEdEngine::Tick(float, bool) UnrealEdEngine.cpp:534 FEngineLoop::Tick() LaunchEngineLoop.cpp:5828 EngineTick() [Inlined] Launch.cpp:60 GuardedMain(const wchar_t *) Launch.cpp:192
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-386242 in the post.
| 0 |
| Component | UE - World Creation - Worldbuilding Tools - Level Instances |
|---|---|
| Affects Versions | 5.7, 5.7.4 |
| Created | Jun 26, 2026 |
|---|---|
| Updated | Jun 26, 2026 |