The important step here is to unlink the middle layer after first relinking everything.
Alternately, see attached project for repro. Open M_MyLayeredMaterial_inst and delete "Layer 1", then relink the layers, unlink Layer 1, then delete Layer 1 again to observe the crash.
UE4Editor_Core!AssertFailedImplV() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:102] UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Private\Misc\AssertionMacros.cpp:458] UE4Editor_Engine!DispatchCheckVerify<void,<lambda_ff57ed05420f90fd4f0e60c56e6b73eb> >() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Misc\AssertionMacros.h:165] UE4Editor_Engine!UMaterialInstance::UpdateParameters() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\Materials\MaterialInstance.cpp:511] UE4Editor_Engine!UMaterialInstance::UpdateParameterNames() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\Materials\MaterialInstance.cpp:4059] UE4Editor_UnrealEd!UMaterialEditorInstanceConstant::RegenerateArrays() [D:\Build\++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PreviewMaterial.cpp:975] UE4Editor_UnrealEd!UMaterialEditorInstanceConstant::PostEditChangeProperty() [D:\Build\++UE4\Sync\Engine\Source\Editor\UnrealEd\Private\PreviewMaterial.cpp:877] UE4Editor_CoreUObject!UObject::PostEditChangeChainProperty() [D:\Build\++UE4\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:454] UE4Editor_PropertyEditor!FPropertyNode::NotifyPostChange() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\PropertyNode.cpp:2342] UE4Editor_PropertyEditor!FPropertyHandleBase::NotifyPostChange() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\PropertyHandleImpl.cpp:3015] UE4Editor_MaterialEditor!SMaterialLayersFunctionsInstanceTree::RemoveLayer() [D:\Build\++UE4\Sync\Engine\Source\Editor\MaterialEditor\Private\SMaterialLayersFunctionsTree.cpp:1213] UE4Editor_MaterialEditor!TBaseSPMethodDelegateInstance<0,SMaterialLayersFunctionsInstanceTree,0,void __cdecl(void),FDefaultDelegateUserPolicy,int>::ExecuteIfSafe() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307] UE4Editor_PropertyEditor!PropertyCustomizationHelpers::SPropertyEditorButton::OnClick() [D:\Build\++UE4\Sync\Engine\Source\Editor\PropertyEditor\Private\PropertyCustomizationHelpers.cpp:86] UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,PropertyCustomizationHelpers::SPropertyEditorButton,0,FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:290] UE4Editor_Slate!SButton::ExecuteOnClick() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:385] UE4Editor_Slate!SButton::OnMouseButtonUp() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SButton.cpp:304] UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_cc5aea9e7377b04ce85c30c65ec3889b> >() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:378] UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4815] UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5356] UE4Editor_Slate!FSlateApplication::OnMouseUp() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:5321] UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2174] UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2638] UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1042] UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:874] user32 user32 UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [D:\Build\++UE4\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:130] UE4Editor!FEngineLoop::Tick() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4746] UE4Editor!GuardedMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:169] UE4Editor!GuardedMainWrapper() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137] UE4Editor!WinMain() [D:\Build\++UE4\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268] UE4Editor!__scrt_common_main_seh() [d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288] kernel32 ntdll
How does TextureRenderTarget2D get TArray<uint8> type data?
How do I set a material as a post-processing material?
How to delete some elements correctly when deleting an array loop?
Why does the REMOVE method of map container remove elements have memory leaks?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
What is the difference between Camera and CineCamera?
How does TArray loop correctly remove elements in blueprints?
How to assign a value to a member of UMG's UMaterialInterface pointer type in C++?
How to implement springarm components to scale according to mouse position in spawn?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-108012 in the post.
2 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.26 |
Target Fix | 4.27 |
Created | Feb 5, 2021 |
---|---|
Resolved | Apr 26, 2021 |
Updated | Nov 30, 2022 |