Assertion failed: !RasterizerPass.ClusterComputeShader.IsNull() [File:D:\build\++UE5\Sync\Engine\Source\Runtime\Renderer\Private\Nanite\NaniteCullRaster.cpp] [Line: 3915]

This issue is fixed in 5.5.

I think it’s due to some uninitialized memory. Ultimately, the post here fixes the issue.

If you need to fix it before 5.5 and feel comfortable digging around in the code, the issue is in NaniteCullRaster.cpp

Search for “const auto FillFixedMaterialShaders”. It should be around line 3893 but that will depend on your specific version and whether you’ve been editing things already. In the last 1/3 of that block of code, there’s the following:

PermutationVectorCS_Cluster.Set<FMicropolyRasterizeCS::FTwoSidedDim>(RasterizerPass.RasterPipeline.bIsTwoSided);
PermutationVectorCS_Cluster.Set<FMicropolyRasterizeCS::FVertexProgrammableDim>(RasterizerPass.bVertexProgrammable);
PermutationVectorCS_Cluster.Set<FMicropolyRasterizeCS::FPixelProgrammableDim>(RasterizerPass.bPixelProgrammable);
PermutationVectorCS_Cluster.Set<FMicropolyRasterizeCS::FSplineDeformDim>(RasterizerPass.bSplineMesh);
RasterizerPass.ClusterComputeShader = FixedMaterialShaderMap->GetShader<FMicropolyRasterizeCS>(PermutationVectorCS_Cluster);
check(!RasterizerPass.ClusterComputeShader.IsNull());

Add the following line above that block:

PermutationVectorCS_Cluster.Set<FMicropolyRasterizeCS::FTessellationDim>(false);

This should prevent any further crashes.

1 Like