Description

In Unreal Engine version 5.5.4, the Editor crashes when performing Undo after deleting a Material Layer of a Material Instance

Steps to Reproduce

Repro steps:

1. Create a new material

Right-click in the Content Browser, click "Material" and create a new material.

Set it to any material name (e.g. M_Test).

2. Add a material layer

Double-click the material you created to open the Material Editor.

Right-click in the Node Graph and add a "Material Attribute Layers" node.

Click "Apply" in the upper left of the editor to compile, then press Ctrl + S to save the changes to the asset.

3. Create a Material Instance

Right-click on the material “M_Test” created in the previous step and create a material instance from “Create Material Instance”.

Set it to any material name (e.g. MI_Test).

4. Adding and deleting material layers

Double-click the Material Instance to open the Material Instance Editor.

Click “Window” from the menu at the top of the editor, then click “Layer Parameters” to display the tab for editing material layers.

Click the “+” button in Material Layers and create a new layer called “Layer 1”.

Click the “X” button to the right of the created material layer “Layer 1” to delete the layer.

5. Undo the operation that caused the crash

Use the keyboard shortcut Ctrl+Z to Undo.

6. Check for crashes

The editor freezes and then crashes after a few seconds.

Expected Behavior

Undo (Ctrl+Z) no longer crashes the editor and restores deleted layers.

Callstack
UnrealEditor_Core!FDebug::CheckVerifyFailedImpl2() [AssertionMacros.cpp:726]
UnrealEditor_Engine!FMaterialLayersFunctions::Validate() [MaterialExpressions.cpp:16926]
UnrealEditor_Engine!UMaterialInstance::GetMaterialLayers() [MaterialInstance.cpp:2850]
UnrealEditor_Engine!UMaterialInstanceConstant::UpdateCachedData() [MaterialInstanceConstant.cpp:195]
UnrealEditor_Engine!UMaterialInstance::PostEditChangeProperty() [MaterialInstance.cpp:4545]
UnrealEditor_Engine!UMaterialInstanceConstant::PostEditChangeProperty() [MaterialInstanceConstant.cpp:73]
UnrealEditor_CoreUObject!UObject::PostEditChange() [Obj.cpp:477]
UnrealEditor_UnrealEd!FTransaction::Apply() [EditorTransaction.cpp:960]
UnrealEditor_UnrealEd!UTransBuffer::Undo() [EditorTransaction.cpp:1640]
UnrealEditor_UnrealEd!UEditorEngine::UndoTransaction() [EditorServer.cpp:1303]
UnrealEditor_UnrealEd!UEditorEngine::Exec_Transaction() [EditorServer.cpp:5328]
UnrealEditor_UnrealEd!UEditorEngine::Exec_Editor() [EditorServer.cpp:5728]
UnrealEditor_Core!FExec::Exec() [Exec.cpp:18]
UnrealEditor_Engine!UEngine::Exec() [UnrealEngine.cpp:5133]
UnrealEditor_UnrealEd!UUnrealEdEngine::Exec() [UnrealEdSrv.cpp:662]
UnrealEditor_MainFrame!FMainFrameActionCallbacks::ExecuteExecCommand() [MainFrameActions.cpp:634]
UnrealEditor_MainFrame!TBaseStaticDelegateInstance<void __cdecl(void) [DelegateInstancesImpl.h:801]
UnrealEditor_Slate!FUIAction::Execute() [UIAction.h:139]
UnrealEditor_Slate!FUICommandList::ConditionalProcessCommandBindings() [UICommandList.cpp:235]
UnrealEditor_Slate!FUICommandList::ProcessCommandBindings() [UICommandList.cpp:179]
UnrealEditor_MainFrame!FMainFrameActionCallbacks::OnUnhandledKeyDownEvent() [MainFrameActions.cpp:269]
UnrealEditor_MainFrame!TBaseStaticDelegateInstance<FReply __cdecl(FKeyEvent const &) [DelegateInstancesImpl.h:791]
UnrealEditor_Slate!FSlateApplication::ProcessKeyDownEvent() [SlateApplication.cpp:4869]
UnrealEditor_Slate!FSlateApplication::OnKeyDown() [SlateApplication.cpp:4756]
UnrealEditor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [WindowsApplication.cpp:2884]
UnrealEditor_ApplicationCore!FWindowsApplication::DeferMessage() [WindowsApplication.cpp:3568]
UnrealEditor_ApplicationCore!FWindowsApplication::ProcessMessage() [WindowsApplication.cpp:2723]
UnrealEditor_ApplicationCore!FWindowsApplication::AppWndProc() [WindowsApplication.cpp:1720]
UnrealEditor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [WindowsPlatformApplicationMisc.cpp:145]
UnrealEditor!FEngineLoop::Tick() [LaunchEngineLoop.cpp:5531]
UnrealEditor!GuardedMain() [Launch.cpp:187]
UnrealEditor!GuardedMainWrapper() [LaunchWindows.cpp:124]
UnrealEditor!LaunchWindowsStartup() [LaunchWindows.cpp:278]
UnrealEditor!WinMain() [LaunchWindows.cpp:335]
UnrealEditor!__scrt_common_main_seh() [exe_common.inl:288]

Have Comments or More Details?

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

0
Login to Vote

Duplicate
ComponentUE - Rendering Architecture - Materials
Affects Versions5.4.4
Target Fix5.7
CreatedApr 2, 2025
ResolvedApr 14, 2025
UpdatedApr 14, 2025
View Jira Issue