What is the in right way to Warm Up Shaders?

Hello, I’m trying to find a way to effectively Warm Up necessary shaders in minimum amount of time.
Shader.WarmupAllShaders takes extremely long (20s, I’m using lots of shaders). I’m honestly don’t understand how Shader.WarmupAllShaders works, but it seems to me that it load shaders in all possible combinations(?) and most of them never show in game. So as i understand i need to manually chose and show necessary shaders to warm up them, or there is better way? Do i need to do it at the start of each scene, or one time on app stat is enough?

Thank’s!

Are you using only built-in shaders or also custom surface shaders?

As I understand it, shaders only need to be warmed up once each per run of the game. The method you suggest is the only way I know of warming them one at a time. If I were you, I would manually warm up the shaders you need in a given scene as soon as the scene is loaded. That way you minimize loading time while avoiding all late-warming hitches.