Description

Starting in Unreal Engine 5.4, StaticDuplicateObject internally switched to using Unversioned Property Serialization (UPS) for performance reasons. However, UPS assumes the source and destination objects share the exact same class layout and property structure.

When StaticDuplicateObject is called with a destination class that differs from the source object's class, the assumptions made by UPS break and leads to a runtime crash.

This behavior did not occur in UE 5.3 or earlier, where Tagged Property Serialization (TPS) was used, and mismatched class duplication was properly handled.

Licensee has proposed a fix here: https://github.com/EpicGames/UnrealEngine/pull/13450

A repro project is attached to this report.
Callstack provided is from the UE 5.4 test.
Crash confirmed on all versions starting from UE 5.4 up to and including Main CL 40574608.

Steps to Reproduce

1. Open the provided repro project.
2. In the level, click Play.
3. Observe that the editor crashes immediately.

The level contains a MyActor instance. On BeginPlay, this actor performs StaticDuplicateObject on a BaseClass instance but using DerivedClass as destination class.

Callstack

[2025.06.19-17.37.40:737][351]LogTemp: Warning: Running StaticDuplicateObject test
[2025.06.19-17.37.40:737][351]LogOutputDevice: Warning:

Script Stack (0 frames) :

[2025.06.19-17.37.40:739][351]LogWindows: Error: appError called: Assertion failed: Count>=0 [Link Removed] [Line: 3995]

[2025.06.19-17.37.40:739][351]LogWindows: Windows GetLastError: The operation completed successfully. (0)
[2025.06.19-17.37.42:984][351]LogWindows: Error: === Critical error: ===
[2025.06.19-17.37.42:984][351]LogWindows: Error:
[2025.06.19-17.37.42:984][351]LogWindows: Error: Assertion failed: Count>=0 [Link Removed] [Line: 3995]
[2025.06.19-17.37.42:984][351]LogWindows: Error:
[2025.06.19-17.37.42:984][351]LogWindows: Error:
[2025.06.19-17.37.42:984][351]LogWindows: Error:
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbbfeb124 UnrealEditor-CoreUObject.dll!FScriptArrayHelper::EmptyAndAddUninitializedValues() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Public\UObject\UnrealType.h:3995]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbc01283a UnrealEditor-CoreUObject.dll!FArrayProperty::SerializeItem() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyArray.cpp:157]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbbd18e5c UnrealEditor-CoreUObject.dll!SerializeUnversionedProperties() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\Serialization\UnversionedPropertySerialization.cpp:957]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbbd79a87 UnrealEditor-CoreUObject.dll!UStruct::SerializeTaggedProperties() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:1434]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbbf8f3c1 UnrealEditor-CoreUObject.dll!UObject::SerializeScriptProperties() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:1919]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbbf8dff8 UnrealEditor-CoreUObject.dll!UObject::Serialize() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:1697]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbbf8d80b UnrealEditor-CoreUObject.dll!UObject::Serialize() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:1570]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbc18282c UnrealEditor-CoreUObject.dll!StaticDuplicateObjectEx() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:3152]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffbc1819c6 UnrealEditor-CoreUObject.dll!StaticDuplicateObject() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:3015]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x000001a4786e3905 UnrealEditor-DupObjIssue.dll!AMyActor::RunDuplicateTest() [E:\UDN\Launcher_5.5.4\DupObjIssue\Source\DupObjIssue\MyActor.cpp:39]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffb53e3664 UnrealEditor-Engine.dll!AActor::DispatchBeginPlay() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Actor.cpp:4284]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffb78f1936 UnrealEditor-Engine.dll!AWorldSettings::NotifyBeginPlay() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\WorldSettings.cpp:337]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffb6175e51 UnrealEditor-Engine.dll!AGameStateBase::HandleBeginPlay() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameStateBase.cpp:228]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffb76753a4 UnrealEditor-Engine.dll!UWorld::BeginPlay() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:5437]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fffb60c3648 UnrealEditor-Engine.dll!UGameInstance::StartPlayInEditorGameInstance() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameInstance.cpp:568]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fff9a373a75 UnrealEditor-UnrealEd.dll!UEditorEngine::CreateInnerProcessPIEGameInstance() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:3153]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fff9a39fc99 UnrealEditor-UnrealEd.dll!UEditorEngine::OnLoginPIEComplete_Deferred() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1599]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fff9a3747b4 UnrealEditor-UnrealEd.dll!UEditorEngine::CreateNewPlayInEditorInstance() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1862]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fff9a3c0360 UnrealEditor-UnrealEd.dll!UEditorEngine::StartPlayInEditorSession() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:2884]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fff9a3c4823 UnrealEditor-UnrealEd.dll!UEditorEngine::StartQueuedPlaySessionRequestImpl() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1176]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fff9a3c3dee UnrealEditor-UnrealEd.dll!UEditorEngine::StartQueuedPlaySessionRequest() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\PlayLevel.cpp:1077]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fff99c344b2 UnrealEditor-UnrealEd.dll!UEditorEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:2027]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007fff9a8c42c6 UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:550]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007ff787316b47 UnrealEditor.exe!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5877]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007ff7873357ac UnrealEditor.exe!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:188]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007ff78733589a UnrealEditor.exe!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:123]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007ff787339114 UnrealEditor.exe!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:277]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007ff78734bd04 UnrealEditor.exe!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:317]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007ff78734f0ba UnrealEditor.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
[2025.06.19-17.37.42:984][351]LogWindows: Error: [Callstack] 0x00007ff87573e8d7 KERNEL32.DLL!UnknownFunction []
[2025.06.19-17.37.42:984][351]LogWindows: Error:
[2025.06.19-17.37.42:986][351]LogExit: Executing StaticShutdownAfterError
[2025.06.19-17.37.42:987][351]LogWindows: FPlatformMisc::RequestExit(1, LaunchWindowsStartup.ExceptionHandler)
[2025.06.19-17.37.42:987][351]LogWindows: FPlatformMisc::RequestExitWithStatus(1, 3, LaunchWindowsStartup.ExceptionHandler)
[2025.06.19-17.37.42:987][351]LogCore: Engine exit requested (reason: Win RequestExit)

Have Comments or More Details?

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

0
Login to Vote

Unresolved
ComponentUE - Foundation
Affects Versions5.45.55.65.7
CreatedJun 19, 2025
UpdatedJul 17, 2025
View Jira Issue