Description

With material layers enabled, selecting two sided foliage will cause the engine to crash. This is working as expected in 4.20 CL# 4369336.

Found in 4.21 CL# 4541578 and 4.22 CL# 4573698

This is a regression. 

Steps to Reproduce

[Link Removed]

  1. Generate Solution and Build linked project
  2. Open the Project
  3. Select the Foliage in the scene

Results:
Crash

Expected:
Foliage would be selected

Callstack
Assertion failed: IsInRenderingThread() || IsInGameThread() || IsAsyncLoading() [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\Engine\Private\Materials/MaterialInstanceSupport.h] [Line: 38]

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:417]
UE4Editor_Engine!FMICReentranceGuard::FMICReentranceGuard() [d:\build\++ue4\sync\engine\source\runtime\engine\private\materials\materialinstancesupport.h:39]
UE4Editor_Engine!UMaterialInstance::GetScalarParameterDefaultValue() [d:\build\++ue4\sync\engine\source\runtime\engine\private\materials\materialinstance.cpp:1927]
UE4Editor_Engine!FMaterialUniformExpressionScalarParameter::GetNumberValue() [d:\build\++ue4\sync\engine\source\runtime\engine\private\materials\materialuniformexpressions.h:183]
UE4Editor_Engine!FUniformExpressionSet::CreateUniformBuffer() [d:\build\++ue4\sync\engine\source\runtime\engine\private\materials\materialuniformexpressions.cpp:371]
UE4Editor_Engine!FMaterialRenderProxy::EvaluateUniformExpressions() [d:\build\++ue4\sync\engine\source\runtime\engine\private\materials\materialshared.cpp:1960]
UE4Editor_Renderer!FMaterialShader::SetParametersInner<FRHIVertexShader * __ptr64>() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\shaderbaseclasses.cpp:217]
UE4Editor_Renderer!FDepthDrawingPolicy::SetSharedState() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\depthrendering.cpp:411]
UE4Editor_Renderer!FDepthDrawingPolicyFactory::DrawMesh() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\depthrendering.cpp:748]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderPrePassViewDynamic() [d:\build\++ue4\sync\engine\source\runtime\renderer\private\depthrendering.cpp:847]
UE4Editor_Renderer!TGraphTask<FRenderPrepassDynamicDataThreadTask>::ExecuteTask() [d:\build\++ue4\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:829]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasks() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:1022]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasksUntilQuit() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:847]
UE4Editor_Core!FTaskThreadAnyThread::Run() [d:\build\++ue4\sync\engine\source\runtime\core\private\async\taskgraph.cpp:923]
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-66775 in the post.

4
Login to Vote

Fixed
ComponentRendering
Affects Versions4.214.22
Target Fix4.22
Fix Commit4628417
CreatedNov 20, 2018
ResolvedDec 4, 2018
UpdatedDec 4, 2018