We’ve been encountering this check, “check(PrimitiveRayTracingData.bDrawInGame == SceneProxy->IsDrawnInGame());”
I’m looking for some assistance in figuring out what is causing this to happen. Perhaps there is some content setup incorrectly?
I believe the mesh in question is an HLOD, and it also appears to be converted to FastGeo as well. Perhaps something is going on there.
Steps to Reproduce
Currently seeing it while using the Movie Render Pipeline. It seems to hit the check while setting up the renderer. But it’s been encountered randomly in the past.
Hi Jake,
This is likely an engine bug in 5.7, not a content setup problem, and your instinct about FastGeo and HLOD is correct here. The fix is CL 48978189 in UE5-Main. It landed after the 5.7 branch, so 5.7 does not have it. There is a later CL 51394241 that refactors the same block onto UpdateCachedRayTracingState with an explicit dirty flag and renames the function to UpdatePrimitivesIsDrawn_RenderThread, but that is cleanup, and you do not need it for the backport.
If you would rather not take an engine change right now, the practical workarounds are to stop the offending HLOD from toggling with a stale entry, either by giving it a real ray tracing representation or by excluding it from FastGeo conversion, or to disable ray tracing for the MRP render. Worth noting that this is a check() rather than a checkSlow or an ensure, so Shipping and Test builds are not affected either way.
Let me know if you have any further questions,
Tim