Discussion about this post

User's avatar
Jason's avatar

It’s because UE5 builds every possible combination of shader for efficiency reasons. permutations can quickly explode as more graphical features are added. The shaders are compiled on each users target hardware. A better solution would be shipping precompiled shaders, but graphics cards setups are so configurable now, that is no longer practical. I have also found this to be frustrating when you install a game and get to the main menu and it takes 1 hour for the shaders to be ready.

Another solution could be to group shaders by use case and only compile them as needed e.g when you get to the levels they are used in. That would require engine code changes though. Devs typically don’t notice the cost because they never work on a fresh install, shaders are cached in their dev environment. Same goes for QA.

2 more comments...

No posts

Ready for more?