Improving shader compile times for profiling

Hi there!

We’re a small indie house working on a mobile VR game, using UE 4.18.3. Shader compile times can be very long even on grunty workstations, which makes debugging and profiling very frustrating.

A full shader recompile on an empty project compiles 4000+ shaders and can take up to 10mins. Switching ‘Preview Rendering Level’ to lets say Android does a full recompile. Deploying to the device does a full recompile. Once those compiles are done it’s all good, but as soon as you do switch certain flags (eg mobile HDR on/off), the engine requires 3 full recompiles again (Editor, Preview Level, Deploy). So, switching certain flags on and off to profile the difference can take 30+mins on an empty project, or 1+h on the actual project.

  • Is there a way to improve compile times?

  • Can compiling shaders be network distributed? All our workstations are hardware/software identical.

  • Can the resulting compiles be shared on the network, to avoid that every workstation/user has to go through the compiling again individually?

Any advice is much appreciated!
Cheers,
Max