Context
The blueprint editor allows you to override an actor component's class in derived blueprints (component details panel -> Component Class).
[Image Removed]
Problem
When a blueprint and its derived blueprint both change the Component Class, this causes failing ensures and asserts in a packaged game. With the setup from the repro steps, the async loading thread will attempt to reconstruct an already constructed subobject with the override class. This, in turn, triggers destruction of the existing object on the async loading thread which breaks ensures and assertions.
Steps to Reproduce
=== Handled ensure: === Ensure condition failed: IsInGameThread() [File:Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 3632] GC lock can only be acquired on the game thread. If you hit this ensure then an object is being reconstructed on a worker thread which is not thread-safe Stack: [Callstack] 0x00007ff65329e4f9 ALT_DestroyObject_57.exe!`StaticAllocateObject'::`173'::<lambda_2>::operator()() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:3632] [Callstack] 0x00007ff647f909b9 ALT_DestroyObject_57.exe!StaticAllocateObject() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:3632] [Callstack] 0x00007ff647f9198b ALT_DestroyObject_57.exe!StaticConstructObject_Internal() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:4848] [Callstack] 0x00007ff647d4c59f ALT_DestroyObject_57.exe!FObjectInstancingGraph::GetInstancedSubobject() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\CoreNative.cpp:342] [Callstack] 0x00007ff647d508eb ALT_DestroyObject_57.exe!FObjectInstancingGraph::InstancePropertyValue() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\CoreNative.cpp:478] [Callstack] 0x00007ff647e782de ALT_DestroyObject_57.exe!FObjectPropertyBase::InstanceSubobjects() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyBaseObject.cpp:104] [Callstack] 0x00007ff647d02aac ALT_DestroyObject_57.exe!UStruct::InstanceSubobjectTemplates() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:2766] [Callstack] 0x00007ff647f77df4 ALT_DestroyObject_57.exe!FObjectInitializer::InstanceSubobjects() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:4423] [Callstack] 0x00007ff647f7f459 ALT_DestroyObject_57.exe!FObjectInitializer::PostConstructInit() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:4295] [Callstack] 0x00007ff647f56d43 ALT_DestroyObject_57.exe!FObjectInitializer::~FObjectInitializer() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:4112] [Callstack] 0x00007ff647ce642b ALT_DestroyObject_57.exe!UClass::CreateDefaultObject() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:5137] [Callstack] 0x00007ff647d11c3e ALT_DestroyObject_57.exe!UClass::Serialize() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:6272] [Callstack] 0x00007ff64a9a5369 ALT_DestroyObject_57.exe!UBlueprintGeneratedClass::Serialize() [Z:\Games\FortniteMain\Engine\Source\Runtime\Engine\Private\BlueprintGeneratedClass.cpp:2616] [Callstack] 0x00007ff6480413dc ALT_DestroyObject_57.exe!FAsyncPackage2::EventDrivenSerializeExport() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading2.cpp:9484] [Callstack] 0x00007ff64803ad84 ALT_DestroyObject_57.exe!FAsyncPackage2::CreateRuntimeExports() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading2.cpp:8442] [Callstack] 0x00007ff64804238c ALT_DestroyObject_57.exe!FAsyncPackage2::Event_CreateExports() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading2.cpp:8044] [Callstack] 0x00007ff648045790 ALT_DestroyObject_57.exe!FEventLoadNode2::Execute() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading2.cpp:6433] [Callstack] 0x00007ff648046aba ALT_DestroyObject_57.exe!FAsyncLoadEventQueue2::ExecuteSyncLoadEvents() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading2.cpp:6645] [Callstack] 0x00007ff64806502c ALT_DestroyObject_57.exe!FAsyncLoadingThread2::Run() [Z:\Games\FortniteMain\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading2.cpp:11189] [Callstack] 0x00007ff6478b73d8 ALT_DestroyObject_57.exe!FRunnableThreadWin::Run() [Z:\Games\FortniteMain\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159] [Callstack] 0x00007ff6478adc80 ALT_DestroyObject_57.exe!FRunnableThreadWin::GuardedRun() [Z:\Games\FortniteMain\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:79] [Callstack] 0x00007ffb44efe8d7 KERNEL32.DLL!UnknownFunction [] [Callstack] 0x00007ffb4712c53c ntdll.dll!UnknownFunction []
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-358685 in the post.
| 0 |
| Component | UE - Framework - Blueprint |
|---|---|
| Affects Versions | 5.7 |
| Created | Dec 19, 2025 |
|---|---|
| Updated | Dec 19, 2025 |