SOLUTIONS: Each of these solutions reduce compile time. Use one or all of them together to get the biggest speed increase. #1 - Convert project to C# (extremely effective) I was using UnityScript. Convert your project to C# -- it compiles 4X FASTER than UnityScript! Compile times went from 15s to 3.5s. See this post for some numbers. #2 - Convert some/all scripts to DLLs (very effective but complex) NOTE: This solution involves a complicated setup using externally compiled DLLs. While it works, it's probably far too complicated for most users. Compile times reduced from 15s to 2-3 seconds or less. See my answer here. #3 - Convert ALL remaining .js files to C# (somewhat effective) I was able to reduce compile times an additional 3.25 seconds by converting ALL lingering .js files in my project to C#, including Standard Assets. See this post for details. Overall, using all 3 methods above, my script compile times are now down from 15 seconds every time I update a script to just 2 seconds. That's a 7.5X performance increase! See my happy face over there? ---------------------------- Original Post: A common problem is that as a project grows in size, so does the time it takes to compile the scripts. When one change is made to any script, all must be recompiled. The result is a maddening amount of waiting during development and testing. My current project has 3.78MB in 164 script files (not including the default stuff in Standard Assets and Pro Standard Assets). It takes 15 seconds to compile scripts every time I make a tiny change, which can translate into hours of wasted time per day waiting. I'm currently working on a Core i7 3.6 + 12GB mem. BTW, I'm coding in Unityscript. Questions: 1) Are there any ways to reduce compile times apart from getting a new CPU? I doubt getting an SSD would help here. I already know about this: Overview: Script compilation (Advanced) 2) I'm curious about other people's compile times compared to number of scripts / megs of scripts, specifically with regards to C#. I'm using Unityscript, and I'm wondering if it would be significantly faster compiling in C#. I don't think there's any way possible I could convert my project to C# at this point, but maybe it would help in future projects. 3) I feel like I'm missing something with regards to a smart workflow. I did some work on C# in Visual Studio recently (non-Unity stuff) and found it to be very quick and efficient because of real-time syntax error underlining, real-time error warnings, break points and debugging, and excellent IntelliSense. Working in Unity is a completely opposite experience. I feel stuck in the mud. As far as I've found, there's no syntax error underlining or other error warnings without doing a compile (read: waiting...), MD debugging integration is frustrating so I haven't used it (it always tries to open a second Unity instance), and I can't get MD to ever give me consistent results with code completion (it works maybe 5% of the time for me). Testing or bug fixing new code is always an endless back and forth between MD and the editor play button with a bunch of Debug.Log() calls thrown in as needed to find the problem, and of course there's all the waiting to compile just to add or remove a log call each time. (I know about the inspector debug mode to see vars, but on scripts with tons of arrays or complex objects it always crashes my machine so I can never use it.) Adding and debugging one small feature can take a day or more sometimes because of this slow workflow. Maybe I'm doing things all wrong, I don't know. I'm curious how some of you go about your routine when working. 4) I'm currently getting about 600 warnings every time I compile. It's all trivial stuff, but I'm wondering if this might be making it take a bunch of extra time to compile and whether it would be worth taking the time to try to clean up the warnings. Or maybe there's a way to suppress warnings so it doesn't have to warn me every time? (Edit: Actually 90% of these warnings are things like "System.Collections is never used" in a Monobehavious script. I can't very well strip out the include from Monobehaviour to make this warning go away.) 5) In MD, there's an option to Compile Assembly. I assume that means it's just going to compile whats in that particular assembly and not the whole project. Is there any way possible to split up your scripts into smaller assemblies so I could just re-compile the ones I'm working on at the moment. (I doubt it and I hope this question doesn't sound too dumb. It's a just shot in the dark. ) Thanks!