My experience has been that building is Unity is the most flaky and frustrating part of working with Unity. It seems that every time I build, 8 processes start up for the Unity Shader Compiler, and the build appears frozen for 6-12 hours while this is happening. It would be nice it Unity could at least provide some kind of progress update because the only way to know Unity isn't frozen is to check the task manager and see these processes. Can anyone explain why this shader compiling takes so long? Let's say I run a build that completes, and then make 1 (non-shader) coding change, does the entire shader compiling need to re-run. If so, why? Or does it cache some of the previous results. I ask because when I upgrade Unity, it seems like some of the time the first build takes must longer, and then subsequent builds run more quickly. But this doesn't always seem to be the case. Sometimes subsequent builds also take many hours. There seems to be no rhyme or reason to the behavior, so I'm hoping someone can shed some light upon how the process works. Are there any tricks that can prevent these long shader compile times? Also, it'd be great to know some information about what exactly is the thing that determines how long these shader compiles take to complete? I have a pretty large project so I believe the shader compiling time is somehow related to my project size, but I have no idea what in my project is causing the long compiling. If I'm only making a coding change between builds, why does Unity even need to do all the full build steps? Couldn't there be a "code changes only" build mode where it doesn't rebuild all the asset files, and doesn't do all the shader recompiling? Lots of questions, I know, but hopefully someone can help! I'm sure I'm not the only person wondering about this issue.