In regards to compile times with large teams:
- Separating game code into multiple game modules enables faster compilation - only the modules that change need to be recompiled.
- You are only compiling your own changes until you pull from the repo. Thus, you are in control of how often you have to recompile everyone elses changes.
- Prototyping in blueprints (or keeping certain features in blueprints) eliminates compilation.
- Something like IncrediBuild can distribute compilation load across all machines of the team.
- Buy fast multi-processer machines.