Description

After editing engine source files and triggering Live Coding, derived Blueprints that inherit from a Blueprint containing a ChildActorComponent cause UChildActorComponent::Serialize to run on a Live Coding worker thread using a non-persistent archive. In this situation Serialize enters its template fix-up path because the ChildActorTemplate’s Outer does not match the derived component template and it calls StaticDuplicateObject to repair the template.

StaticDuplicateObject constructs a new ChildActor template actor and invokes AActor::PostInitProperties during object initialization. In PostInitProperties (editor-only path), the function expects execution on either the game thread or the async loading thread and therefore executes check(IsInAsyncLoadingThread()).

This check fails and crashes the editor. Crash reproduced consistently in source builds from 5.6 release and Main (CL 48526824).

Steps to Reproduce

1. Create a new blank project using a source build.
2. Create a new Blueprint BP_A derived from Actor.
3. Add a ChildActorComponent to BP_A and set ChildActorClass to Actor.
4. Create a Blueprint BP_B that inherits from BP_A.
5. Save BP_A and BP_B and keep the Blueprint editors open.
6. Make edits to multiple engine source files. (for example: ChildActorComponent.cpp, Actor.cpp and ActorComponent.cpp). Adding comments is enough for Live Coding to patch them.
7. Trigger Live Coding in the editor.
8. During Live Coding's reload the editor crashes.

Callstack

Callstack (UE 5.6.1):
> UnrealEditor-Engine-Win64-Debug.patch_0.exe!AActor::PostInitProperties() Line 547 C++
UnrealEditor-CoreUObject-Win64-Debug.dll!FObjectInitializer::PostConstructInit() Line 4380 C++
UnrealEditor-CoreUObject-Win64-Debug.dll!FObjectInitializer::~FObjectInitializer() Line 4193 C++
UnrealEditor-CoreUObject-Win64-Debug.dll!StaticConstructObject_Internal(const FStaticConstructObjectParameters & Params) Line 4958 C++
UnrealEditor-CoreUObject-Win64-Debug.dll!StaticDuplicateObjectEx(FObjectDuplicationParameters & Parameters) Line 3192 C++
UnrealEditor-CoreUObject-Win64-Debug.dll!StaticDuplicateObject(const UObject * SourceObject, UObject * DestOuter, const FName DestName, EObjectFlags FlagMask, UClass * DestClass, EDuplicateMode::Type DuplicateMode, EInternalObjectFlags InternalFlagsMask) Line 3126 C++
UnrealEditor-Engine-Win64-Debug.patch_0.exe!UChildActorComponent::Serialize(FArchive & Ar) Line 197 C++
UnrealEditor-UnrealEd-Win64-Debug.dll!`FReload::ReplaceReferencesToReconstructedCDOs'::`2'::FFindRefTask::DoWork() Line 1292 C++
UnrealEditor-UnrealEd-Win64-Debug.dll!FAsyncTask<`FReload::ReplaceReferencesToReconstructedCDOs'::`2'::FFindRefTask>::DoTaskWork() Line 656 C++
UnrealEditor-UnrealEd-Win64-Debug.dll!FAsyncTaskBase::DoWork() Line 289 C++
UnrealEditor-UnrealEd-Win64-Debug.dll!FAsyncTaskBase::DoThreadedWork() Line 313 C++
UnrealEditor-Core-Win64-Debug.dll!FQueuedThread::Run() Line 1459 C++
UnrealEditor-Core-Win64-Debug.dll!FRunnableThreadWin::Run() Line 156 C++
UnrealEditor-Core-Win64-Debug.dll!FRunnableThreadWin::GuardedRun() Line 71 C++
UnrealEditor-Core-Win64-Debug.dll!FRunnableThreadWin::_ThreadProc(void * pThis) Line 39 C++
[External Code]

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Framework - Blueprint
Affects Versions5.65.75.8
Target Fix5.8
CreatedNov 28, 2025
UpdatedFeb 26, 2026
View Jira Issue