Unlit mode causes all static meshes to be flagged with dynamic relevance (IsRichView returns true for !ViewFamily.EngineShowFlags.Lighting). This means they will be processed through the GDME pass, and if r.Visibility.DynamicMeshElements.Parallel is set, those parallel tasks all clobber ViewState->bIsFrozenViewMatricesCached when rendering is frozen.
Steps to Reproduce
Turn on the required states as given in the title:
- Switch to Unlit Rendering in the editor view
- Make sure r.Visibility.DynamicMeshElements.Parallel = true (the default value)
- Execute FreezeRendering
Program terminates in FSceneViewState::ActivateFrozenViewMatrices on this check: check(ViewState->bIsFrozenViewMatricesCached);
Hi Mark,
Sorry about the delay, and thank you for reporting this crash and for investigating its cause.
I was able to reproduce the crash with your repro steps. I will now double-check your assessment of its cause and create an internal bug report for this issue. I’ll get back to you with a public bug tracker link as soon as I have one.
Best regards,
Vitor
Here’s the bug tracker link: UE-274120. It should become accessible once the engine devs mark it as public.