Description

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

Steps to Reproduce

  1. Create Blueprint actor class derived from StaticMeshActor class, call it BP_StaticMeshActor.
  2. Create Blueprint actor class derived from BP_StaticMeshActor from step 1, call it BP_StaticMeshActor_Child.
  3. Create Blueprint component class derived from StaticMeshComponent, call it BP_StaticMeshComponent.
  4. Create Blueprint component class derived from BP_StaticMeshComponent, call it BP_StaticMeshComponent_Child.
  5. Inside BP_StaticMeshActor, set BP_StaticMeshComponent class as a Static Mesh Component's Class Override.
  6. Inside BP_StaticMeshActor_Child, set BP_StaticMeshComponent_Child class as a Static Mesh Component's Class Override. 
  7. Put BP_StaticMeshActor_Child on a level.
  8. Set this level as a game default map, so that it's startup map in packaged build.
  9. Package the game and run the packaged build.
  10. Observe the game crashes.
Callstack

 

=== 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 []

 

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-358685 in the post.

0
Login to Vote

Unresolved
ComponentUE - Framework - Blueprint
Affects Versions5.7
CreatedDec 19, 2025
UpdatedDec 19, 2025
View Jira Issue