Description

When Forward Shading is enabled, if you create a material with their properties setup with the following:  

Material Domain: Deferred Decal - Blend Mode: Translucent - Decal Blend Mode: Emissive

The Engine will crash.

Working as expected in 4.20 CL# 4369336

Found in 4.21 CL# 4753647, 4768593

Steps to Reproduce
  1. Open the Editor
  2. Enable Forward Shading and restart the Editor 
  3. Create a new material 
  4. Set the Material Domain to Deferred Decal, Blend Mode to Translucent, and Decal Blend Mode to Emissive

Results:
The Editor will crash while the preview is being generated

Expected:
The Shaders would compile and the preview would render

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

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:417]
UE4Editor_Engine!FMaterial::GetShader() [d:\build\++ue4\sync\engine\source\runtime\engine\private\materials\materialshared.cpp:1858]
UE4Editor_Renderer!FDecalDrawingPolicyFactory::DrawMesh() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\compositionlighting\postprocessmeshdecals.cpp:593]
UE4Editor_Renderer!RenderPrimitive() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\compositionlighting\postprocessmeshdecals.cpp:648]
UE4Editor_Renderer!RenderMeshDecals() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\compositionlighting\postprocessmeshdecals.cpp:715]
UE4Editor_Renderer!FRCPassPostProcessDeferredDecals::Process() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\compositionlighting\postprocessdeferreddecals.cpp:790]
UE4Editor_Renderer!FRenderingCompositionGraph::RecursivelyProcess() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\postprocess\renderingcompositiongraph.cpp:687]
UE4Editor_Renderer!FRenderingCompositePassContext::Process() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\postprocess\renderingcompositiongraph.cpp:241]
UE4Editor_Renderer!FRenderingCompositePassContext::Process() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\postprocess\renderingcompositiongraph.h:101]
UE4Editor_Renderer!FCompositionLighting::ProcessAfterBasePass() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\compositionlighting\compositionlighting.cpp:376]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::Render() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\deferredshadingrenderer.cpp:1185]
UE4Editor_Renderer!RenderViewFamily_RenderThread() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\scenerendering.cpp:2953]
UE4Editor_Renderer!TGraphTask<`FRendererModule::BeginRenderingViewFamily'::`33'::EURCMacro_FDrawSceneCommand>::ExecuteTask() [d:\build\++ue4\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:829]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:679]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:575]
UE4Editor_RenderCore!RenderingThreadMain() [d:\build\++ue4\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:333]
UE4Editor_RenderCore!FRenderingThread::Run() [d:\build\++ue4\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:467]
UE4Editor_Core!FRunnableThreadWin::Run() [d:\build\++ue4\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-69077 in the post.

2
Login to Vote

Fixed
ComponentRendering
Affects Versions4.214.22
Target Fix4.22
Fix Commit5118088
Main Commit5206546
Release Commit5118088
CreatedJan 25, 2019
ResolvedFeb 21, 2019
UpdatedMar 23, 2019