A 5.5 level that contains a Text3DComponent in a BP crashes the engine when opened in 5.6 (and up).
The licensee has provided his analysis:
Description: Level instance created in UE5.5 and re-saved in UE5.6 crashes on load.
The crash happens when loading an actor containing "Text3DComponent". "CharacterExtension" (or sometimes "MaterialExtension") member (subobject) is NULL.
The problematic subobjects are incorrectly saved as "/Engine/Transient" objects. This happens to subobjects of actors that were NOT changed (moved/translated) before the resave:resave-bad-transient.png
Actors that were moved (translated) before the save have a correct value saved:
resave-ok.png
I tracked it down to "Rename" being called on the subobjects that sets the Owner to GetTransientPackage() when loading the level in UE5.6 that was saved in UE5.5. (see the screenshot attached)
load-transient-owner.png
After the transient owner is stored to disk we get a NULL for this subobject when loading the level.
They also offered a possible workaround - although it does not apply to their particular use case:
I know re-saving all the actors using Text3DComponent with the resave commandlet fixes the issue but this is not a good path for us given how widespread the usage of the Text3DComponent is.
In their description of the reproduction steps they suggest moving the BP is necessary.
While reproducing this issue I found that this is not the case, and upon reopening a level the editor also crashes.
My crash had a different call stack from the one provided by the licensee, so I'll paste both.
I've reproduced this behavior while opening a 5.5 project in either 5.6 and 5.7 (CL44372627).
The licensee has provided a repro project. Simply opening the project on 5.6 and opening NewMap crashes the engine.
To create this behavior from scratch:
Create a 5.5 project with Text3D plugin enabled
Create a ReproLevel and set it as Editor Default
Make a Actor BP and added a Text3DComponent
Spawn 1 in the scene and saved
Close the Editor
Open the project on 5.6.1
The level opened automatically - no issues at this point
I try reopening ReproLevel by double-clicking it in the ContentBrowser
Editor crashes
Licensee's crash callstack:
> UnrealEditor-Text3D.dll!UText3DDefaultLayoutExtension::PreRendererUpdate(EText3DRendererFlags InFlag) Line 236 C++
UnrealEditor-Text3D.dll!UText3DRendererBase::Update(EText3DRendererFlags InFlags) Line 92 C++
UnrealEditor-Text3D.dll!UText3DComponent::Rebuild(EText3DRendererFlags InUpdateFlags, bool bCleanCache) Line 1034 C++
UnrealEditor-Engine.dll!UActorComponent::ExecuteRegisterEvents(FRegisterComponentContext * Context) Line 2387 C++
UnrealEditor-Engine.dll!UActorComponent::RegisterComponentWithWorld(UWorld * InWorld, FRegisterComponentContext * Context) Line 1930 C++
UnrealEditor-Engine.dll!AActor::IncrementalRegisterComponents(int NumComponentsToRegister, FRegisterComponentContext * Context) Line 6476 C++
UnrealEditor-Engine.dll!ULevel::IncrementalRegisterComponents(FRegisterComponentContext & Context) Line 2009 C++
UnrealEditor-Engine.dll!ULevel::IncrementalUpdateComponents(int NumComponentsToUpdate, bool bRerunConstructionScripts, FRegisterComponentContext * InContext) Line 1873 C++
UnrealEditor-Engine.dll!ULevel::UpdateLevelComponents(bool bRerunConstructionScripts, FRegisterComponentContext * Context) Line 1671 C++
UnrealEditor-Engine.dll!UWorld::UpdateWorldComponents(bool bRerunConstructionScripts, bool bCurrentLevelOnly, FRegisterComponentContext * Context) Line 2811 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::InitializeNewlyCreatedInactiveWorld(UWorld * World) Line 6086 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::OnAssetLoaded(UObject * Asset) Line 5997 C++
[External Code]
[Inline Frame] UnrealEditor-CoreUObject.dll!TMulticastDelegateBase<FDefaultDelegateUserPolicy>::Broadcast(UObject *) Line 258 C++
[Inline Frame] UnrealEditor-CoreUObject.dll!TMulticastDelegate<void __cdecl(UObject *),FDefaultDelegateUserPolicy>::Broadcast(UObject *) Line 1080 C++
UnrealEditor-CoreUObject.dll!FAsyncLoadingThread2::ConditionalProcessEditorCallbacks() Line 10868 C++
UnrealEditor-CoreUObject.dll!FAsyncLoadingThread2::FlushLoading(TArrayView<int const ,int> RequestIDs) Line 11376 C++
UnrealEditor-CoreUObject.dll!FlushAsyncLoading(TArrayView<int const ,int> RequestIds) Line 362 C++
UnrealEditor-CoreUObject.dll!FlushAsyncLoading(int RequestId) Line 331 C++
UnrealEditor-CoreUObject.dll!LoadPackageInternal(UPackage * InOuter, const FPackagePath & PackagePath, unsigned int LoadFlags, FLinkerLoad * ImportLinker, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext, const FPackagePath * DiffPackagePath) Line 1771 C++
UnrealEditor-CoreUObject.dll!LoadPackage(UPackage * InOuter, const FPackagePath & PackagePath, unsigned int LoadFlags, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext, const FPackagePath * DiffPackagePath) Line 2135 C++
UnrealEditor-CoreUObject.dll!LoadPackage(UPackage * InOuter, const wchar_t * InLongPackageNameOrFilename, unsigned int LoadFlags, FArchive * InReaderOverride, const FLinkerInstancingContext * InstancingContext) Line 2111 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!FAssetData::FastGetAsset(bool bLoad, TSet<FName,DefaultKeyFuncs<FName,0>,FDefaultSetAllocator> LoadTags) Line 534 C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!FAssetData::GetAsset(TSet<FName,DefaultKeyFuncs<FName,0>,FDefaultSetAllocator>) Line 567 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditOrPreviewAssetFileItems(TArrayView<TSharedRef<FContentBrowserAssetFileItemDataPayload const ,1> const ,int> InAssetPayloads, EAssetTypeActivationMethod::Type ActivationMethod, const EAssetTypeActivationOpenedMethod OpenedMethod) Line 403 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditOrPreviewItems(IAssetTools * InAssetTools, const UContentBrowserDataSource * InOwnerDataSource, TArrayView<FContentBrowserItemData const ,int> InItems, EAssetTypeActivationMethod::Type ActivationMethod, EAssetTypeActivationOpenedMethod OpenedMethod) Line 459 C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditItems(IAssetTools *) Line 466 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!UContentBrowserAssetDataSource::BulkEditItems(TArrayView<FContentBrowserItemData const ,int> InItems) Line 2663 C++
UnrealEditor-ContentBrowser.dll!SContentBrowser::OnItemsActivated(TArrayView<FContentBrowserItem const ,int> ActivatedItems, EAssetTypeActivationMethod::Type ActivationMethod) Line 3193 C++
[External Code]
[Inline Frame] UnrealEditor-ContentBrowser.dll!TDelegate<void __cdecl(TArrayView<FContentBrowserItem const ,int>,enum EAssetTypeActivationMethod::Type),FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int>) Line 614 C++
UnrealEditor-ContentBrowser.dll!SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,1> AssetItem) Line 5525 C++
[External Code]
UnrealEditor-ContentBrowser.dll!SListView<TSharedPtr<FAssetViewItem,1>>::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,1> TheItem) Line 1154 C++
UnrealEditor-ContentBrowser.dll!STableRow<TSharedPtr<FAssetViewItem,1>>::OnMouseButtonDoubleClick(const FGeometry & InMyGeometry, const FPointerEvent & InMouseEvent) Line 438 C++
[Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1>::operator()(const FArrangedWidget &) Line 5856 C++
UnrealEditor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,`FSlateApplication::RoutePointerDoubleClickEvent'::`2'::<lambda_1>>(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 456 C++
UnrealEditor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5854 C++
UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<FGenericWindow,1> & PlatformWindow, const FPointerEvent & InMouseEvent) Line 5839 C++
UnrealEditor-Slate.dll!FSlateApplication::OnMouseDoubleClick(const TSharedPtr<FGenericWindow,1> & PlatformWindow, const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5802 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 3056 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 3570 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 2725 C++
[Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 1716 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1722 C++
My crash callstack:
> UnrealEditor-Text3D.dll!UText3DRendererBase::Create() Line 40 C++
UnrealEditor-Text3D.dll!UText3DComponent::OnRegister() Line 269 C++
UnrealEditor-Engine.dll!UActorComponent::ExecuteRegisterEvents(FRegisterComponentContext * Context) Line 2375 C++
UnrealEditor-Engine.dll!UActorComponent::RegisterComponentWithWorld(UWorld * InWorld, FRegisterComponentContext * Context) Line 1918 C++
UnrealEditor-Engine.dll!AActor::IncrementalRegisterComponents(int NumComponentsToRegister, FRegisterComponentContext * Context) Line 6181 C++
UnrealEditor-Engine.dll!ULevel::IncrementalRegisterComponents(FRegisterComponentContext & Context) Line 2001 C++
UnrealEditor-Engine.dll!ULevel::IncrementalUpdateComponents(int NumComponentsToUpdate, bool bRerunConstructionScripts, FRegisterComponentContext * InContext) Line 1865 C++
UnrealEditor-Engine.dll!ULevel::UpdateLevelComponents(bool bRerunConstructionScripts, FRegisterComponentContext * Context) Line 1663 C++
UnrealEditor-Engine.dll!UWorld::UpdateWorldComponents(bool bRerunConstructionScripts, bool bCurrentLevelOnly, FRegisterComponentContext * Context) Line 2804 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::Map_Load(const wchar_t * Str, FOutputDevice & Ar) Line 2689 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::HandleMapCommand(const wchar_t * Str, FOutputDevice & Ar, UWorld * InWorld) Line 6219 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::Exec_Editor(UWorld * InWorld, const wchar_t * Stream, FOutputDevice & Ar) Line 5680 C++
UnrealEditor-Core.dll!FExec::Exec(UWorld * InWorld, const wchar_t * Cmd, FOutputDevice & Ar) Line 18 C++
UnrealEditor-Engine.dll!UEngine::Exec(UWorld * InWorld, const wchar_t * Cmd, FOutputDevice & Ar) Line 5143 C++
UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Exec(UWorld * InWorld, const wchar_t * Stream, FOutputDevice & Ar) Line 662 C++
UnrealEditor-UnrealEd.dll!FEditorFileUtils::LoadMap(const FString & InFilename, bool LoadAsTemplate, const bool bShowProgress) Line 3015 C++
UnrealEditor-EngineAssetDefinitions.dll!UAssetDefinition_World::OpenAssets(const FAssetOpenArgs & OpenArgs) Line 66 C++
UnrealEditor-AssetTools.dll!FAssetDefinitionProxy::OpenAssetEditor(const TArray<UObject *,TSizedDefaultAllocator<32>> & InObjects, const EAssetTypeActivationOpenedMethod OpenedMethod, TSharedPtr<IToolkitHost,1> EditWithinLevelEditor) Line 259 C++
UnrealEditor-UnrealEd.dll!UAssetEditorSubsystem::OpenEditorForAsset(UObject * Asset, const EToolkitMode::Type ToolkitMode, TSharedPtr<IToolkitHost,1> OpenedFromLevelEditor, const bool bShowProgressWindow, EAssetTypeActivationOpenedMethod OpenedMethod) Line 583 C++
UnrealEditor-UnrealEd.dll!UAssetEditorSubsystem::OpenEditorForAssets_Advanced(const TArray<UObject *,TSizedDefaultAllocator<32>> & InAssets, const EToolkitMode::Type ToolkitMode, TSharedPtr<IToolkitHost,1> OpenedFromLevelEditor, const EAssetTypeActivationOpenedMethod OpenedMethod) Line 652 C++
UnrealEditor-UnrealEd.dll!UAssetEditorSubsystem::OpenEditorForAssets(const TArray<UObject *,TSizedDefaultAllocator<32>> & Assets, const EAssetTypeActivationOpenedMethod OpenedMethod) Line 777 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditOrPreviewAssetFileItems(TArrayView<TSharedRef<FContentBrowserAssetFileItemDataPayload const ,1> const ,int> InAssetPayloads, EAssetTypeActivationMethod::Type ActivationMethod, const EAssetTypeActivationOpenedMethod OpenedMethod) Line 414 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditOrPreviewItems(IAssetTools * InAssetTools, const UContentBrowserDataSource * InOwnerDataSource, TArrayView<FContentBrowserItemData const ,int> InItems, EAssetTypeActivationMethod::Type ActivationMethod, EAssetTypeActivationOpenedMethod OpenedMethod) Line 459 C++
[Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditItems(IAssetTools *) Line 466 C++
UnrealEditor-ContentBrowserAssetDataSource.dll!UContentBrowserAssetDataSource::BulkEditItems(TArrayView<FContentBrowserItemData const ,int> InItems) Line 2663 C++
UnrealEditor-ContentBrowser.dll!SContentBrowser::OnItemsActivated(TArrayView<FContentBrowserItem const ,int> ActivatedItems, EAssetTypeActivationMethod::Type ActivationMethod) Line 3193 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!Invoke(void(SContentBrowser::*)(TArrayView<FContentBrowserItem const ,int>, EAssetTypeActivationMethod::Type)) Line 66 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(SContentBrowser::*)(TArrayView<FContentBrowserItem const ,int>, EAssetTypeActivationMethod::Type) &) Line 320 C++
UnrealEditor-ContentBrowser.dll!V::TBaseSPMethodDelegateInstance::Execute(TArrayView<FContentBrowserItem const ,int> <Params_0>, EAssetTypeActivationMethod::Type <Params_1>) Line 292 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!TDelegate<void __cdecl(TArrayView<FContentBrowserItem const ,int>,enum EAssetTypeActivationMethod::Type),FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int>) Line 614 C++
UnrealEditor-ContentBrowser.dll!SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,1> AssetItem) Line 5525 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!Invoke(void(SAssetView::*)(TSharedPtr<FAssetViewItem,1>)) Line 66 C++
[Inline Frame] UnrealEditor-ContentBrowser.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(SAssetView::*)(TSharedPtr<FAssetViewItem,1>) &) Line 320 C++
UnrealEditor-ContentBrowser.dll!V::TBaseSPMethodDelegateInstance::ExecuteIfSafe(TSharedPtr<FAssetViewItem,1> <Params_0>) Line 309 C++
UnrealEditor-ContentBrowser.dll!TDelegate<void __cdecl(TSharedPtr<FAssetViewItem,1>),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>(TSharedPtr<FAssetViewItem,1> <Params_0>) Line 635 C++
UnrealEditor-ContentBrowser.dll!SListView<TSharedPtr<FAssetViewItem,1>>::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,1> TheItem) Line 1154 C++
UnrealEditor-ContentBrowser.dll!STableRow<TSharedPtr<FAssetViewItem,1>>::OnMouseButtonDoubleClick(const FGeometry & InMyGeometry, const FPointerEvent & InMouseEvent) Line 438 C++
[Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1>::operator()(const FArrangedWidget &) Line 5856 C++
UnrealEditor-Slate.dll!??$Route@VFReply@@VFBubblePolicy@FEventRouter@@UFPointerEvent@@V<lambda_1>@?1??RoutePointerDoubleClickEvent@FSlateApplication@@QEAA?AV1@AEBVFWidgetPath@@AEBU4@@Z@@FEventRouter@@SA?AVFReply@@PEAVFSlateApplication@@VFBubblePolicy@0@UFPointerEvent@@AEBV<lambda_1>@?1??RoutePointerDoubleClickEvent@2@QEAA?AV1@AEBVFWidgetPath@@AEBU4@@Z@W4ESlateDebuggingInputEvent@@@Z(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 456 C++
UnrealEditor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5854 C++
UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<FGenericWindow,1> & PlatformWindow, const FPointerEvent & InMouseEvent) Line 5839 C++
UnrealEditor-Slate.dll!FSlateApplication::OnMouseDoubleClick(const TSharedPtr<FGenericWindow,1> & PlatformWindow, const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5802 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 3056 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 3570 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 2725 C++
[Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 1716 C++
UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1722 C++
[External Code]
[Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 116 C++
UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 145 C++
UnrealEditor.exe!FEngineLoop::Tick() Line 5554 C++
[Inline Frame] UnrealEditor.exe!EngineTick() Line 60 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 187 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 271 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 339 C++
[External Code]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-323795 in the post.
0 |
Component | UE - Editor - UI Systems |
---|---|
Affects Versions | 5.6, 5.7 |
Created | Sep 11, 2025 |
---|---|
Updated | Sep 12, 2025 |