Description

Setting "Use Dynamic Material Instance" to true in the landscape details will cause the editor to crash.

Reproduced in 4.19.0 CL 3944462 and 4.20 Main. This feature is not available in 4.18.3.

Steps to Reproduce
  1. Create new, blank project
  2. Create landscape
  3. Select Landscape from World Outliner
  4. In the details panel under Landscape section, set Use Dynamic Material Instance to true

Result: Editor will crash
Expected: MaterialInstanceDynamic will be generated for Landscape components

Callstack
Fatal error: [File:D:\Build\++UE4+Release-4.19+Compile\Sync\Engine\Source\Runtime\Engine\Private\Materials\MaterialShared.cpp] [Line: 1928] Couldn't find Shader TBasePassVSFCachedPointIndirectLightingPolicy for Material Resource TestMAt! RenderMeshShaderMap 0, RenderThreadShaderMap 1 GameMeshShaderMap 0, GameThreadShaderMap 1, bShaderWasFoundInGameShaderMap 0 With VF=FLocalVertexFactory, Platform=PCD3D_SM5 ShouldCache: Mat=0, VF=1, Shader=1 MaterialUsageDesc: LightingModel=MSM_DefaultLit, BlendMode=BLEND_Opaque, SpecialEngine=0, TwoSided=0, TSNormal=1, Masked=0, Distorted=0, WritesEveryPixel=1, ModifiesMeshPosition=0, Usage={}

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:419]
UE4Editor_Engine!FMaterial::GetShader() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\engine\private\materials\materialshared.cpp:1915]
UE4Editor_Renderer!GetUniformBasePassShaders<3>() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\basepassrendering.cpp:868]
UE4Editor_Renderer!GetBasePassShaders<FUniformLightMapPolicy>() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\basepassrendering.cpp:936]
UE4Editor_Renderer!TBasePassDrawingPolicy<FUniformLightMapPolicy>::TBasePassDrawingPolicy<FUniformLightMapPolicy>() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\basepassrendering.h:1040]
UE4Editor_Renderer!FDrawBasePassStaticMeshAction::Process<FUniformLightMapPolicy>() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\basepassrendering.cpp:504]
UE4Editor_Renderer!ProcessBasePassMesh<FDrawBasePassStaticMeshAction>() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\basepassrendering.h:1578]
UE4Editor_Renderer!FBasePassOpaqueDrawingPolicyFactory::AddStaticMesh() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\basepassrendering.cpp:548]
UE4Editor_Renderer!FStaticMesh::AddToDrawLists() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\scenecore.cpp:379]
UE4Editor_Renderer!FPrimitiveSceneInfo::AddStaticMeshes() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\primitivesceneinfo.cpp:153]
UE4Editor_Renderer!FPrimitiveSceneInfo::AddToScene() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\primitivesceneinfo.cpp:210]
UE4Editor_Renderer!FScene::AddPrimitiveSceneInfo_RenderThread() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\rendererscene.cpp:646]
UE4Editor_Renderer!<lambda_0628b7e343e078d62bb69bb7a0b80e2d>::operator()() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\renderer\private\rendererscene.cpp:916]
UE4Editor_Renderer!TGraphTask<TEnqueueUniqueRenderCommandType<`FScene::AddPrimitive'::`2'::AddPrimitiveCommandName,<lambda_0628b7e343e078d62bb69bb7a0b80e2d> > >::ExecuteTask() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:829]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:665]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:574]
UE4Editor_RenderCore!RenderingThreadMain() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:331]
UE4Editor_RenderCore!FRenderingThread::Run() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:465]
UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4+release-4.19+compile\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-56453 in the post.

5
Login to Vote

Fixed
ComponentTools - Landscape
Affects Versions4.19
Target Fix4.19.1
Fix Commit3986353
CreatedMar 23, 2018
ResolvedApr 5, 2018
UpdatedMay 4, 2018