Most games engines should be able to calculate all the shader combinations required and pre-compile them prior to their use. I’m not familiar with Unreal (iirc Jedi Survivor does this) but it’s fairly common with other games. Alternatively there’s solutions like Fossilize from Valve and Microsoft did just announce a new D3D feature earlier today that help devs collate all the possible shader combinations too.
I remember waiting like 10 minutes with a loading window for Monster Hunter Rise to compile shaders at one point a while back and I had no idea what that meant then… (but yeah obviously most games do it more elegantly)
Most games engines should be able to calculate all the shader combinations required and pre-compile them prior to their use. I’m not familiar with Unreal (iirc Jedi Survivor does this) but it’s fairly common with other games. Alternatively there’s solutions like Fossilize from Valve and Microsoft did just announce a new D3D feature earlier today that help devs collate all the possible shader combinations too.
this does happen in borderlands 4, but unreal is notoriously bad at tracking which shaders you’ll need in actual gameplay.
It doesn’t help that shaders have become bloated to the point that if you prefer compile them it ends up taking 10-30 mins to load a game.
Look at monster hunter rise my computer can load all the shaders in about 8 mins. My brothers takes half an hour.
Every time you turn the game on. Cause for ever reason it just forgets the shaders and doesn’t save them.
I remember waiting like 10 minutes with a loading window for Monster Hunter Rise to compile shaders at one point a while back and I had no idea what that meant then… (but yeah obviously most games do it more elegantly)
Yeah your can either preload it or compile as you go. Both have advantages and disadvantages