UE 5.4.4 crashes as soon as project opens (DX12 issue I think)

Error: appError called: Assertion failed: IsCompleteBinding(Shader->ResourceCounts.NumCBs , Bindings.BoundCBVMask) [File:D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12RayTracing.cpp] [Line: 4423]

I’ve been working on this project for a while without this problem, and it just started randomly crashing and now whenever I load the project it crashes straight away and I can’t do anything with it.

Inside ‘DefaultEngine.ini’ if I change DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 to DX11 it loads, but I need DX12 so that’s not a solution.

let me know if there is more info I can provide that might help.

You should debug problem by eliminating things:

  • first BACKUP whole project (zip or git or anything you need backup)
  • now change map that loads to empty map (new level empty map)
  • if it (empty level) does not crash, you know that is something in level. So copy your main level and remove material by material. Try every thing like nanite or global illumination etc.
  • if empty level ALSO crashes, I bet it is something with shaders. Try turning off things in postprocess or rendering settings

ps. After backup delete intermediate, and folder with compiled shaders (not sure where this is).
pps. turn off raytracing see if project works in dx12. And see what settings ray tracing is not compatibile with.

Thanks for your reply!

Luckily I backup my project everyday, so I was able to replace the corrupt level with the one I backed up the day before to see if it works, and it loaded up correctly.

I also went into the DefaultEngine.ini file and changed all the Ray Tracing settings from True to False and the corrupt level opened successfully (with DX12). Then in the engine I turned them back on, restarted and it crashed again.

Upon further investigation I narrowed it down to a light function material - when applied to the lights it crashes instantly.

It’s a simple light flicker that I was in the process of making.
I discovered that the crash is caused by adding the ‘Seed’ parameter. If I remove that from the node chain it doesn’t crash.

Here’s a screenshot - are you able to understand why adding a seed value causes it to crash?
What would be a better way of doing it?

Thanks

Do flickering the old way:

  • get two or more greyscale noise textures (from engine folder there are some). Or create those in photoshop, pack them in RGBA layers (one in R one in B and so on)
  • stretch uvs in one direction (component mask and use either mask (use only) for R or G)
  • get two panners and two sine . use sine (time) for both but multiple time by some prime numbers.
  • then multiply both results, and you get random flicering.

I think that live perlin noise node may be slow (and real culprit), try noise texture parameter.
Also try two sine functions instead of time, or do time modulo something, make sure time stays in some sane range.

Or if you have time, get UiMaterial lab and look into materials, i think it had some noise materials/functions.

Here is simple flickering:

Noise texture is from ENGINE folder: game_wind_noise

Unfortunately troubleshooting crashes isn’t always this cut and dry to troubleshoot.

Sometimes a level with lots of meshes/materials isn’t crashing because of an issue with those particular assets, but because the GPU is being overwhelmed and now crossing a threshold of stalling or crashing.

Im having the same issue and the crash logs just state a generic GPU crash. But after changing from DX12 to DX11 i seem to have more fps, my GPU isn’t having huge 100ms stalls when running trace files, and now the crashing is gone…