My computer is an 8 core/thread cpu at 3.4 GHz, 16 GB ram, and haven an SSD. Building the UE4 binaries from a clean repo or with doing a rebuild takes 2~ hours. (this is without any modifications)
Subsequent builds from modifications of engine modules varies in length to compile, typically anywhere from a <5 minutes to 20+ minutes depending on the changes and what modules are affected.
I notice that disabling compilation of the editor cuts the compile time down by 60% or so, but obviously for development purposes the editor is required.
So the question is, are these times normal/expected? Can anything be adjusted/tweaked to improve (particularly in regards to iteration) the build times?
I will say that we have tried incredibuild, and it ‘works’, but is obscenely expensive and may be too costly for us, so was looking for alternatives.
I know when I download the engine source code and compile it from scratch, the first build takes at least three hours. And my machine is a 24-core dual-processor Xeon (though, admittedly, it’s several years old now). I also am using an SSD, and have plenty of memory (64 GB).
Point is, I think it’s entirely normal for a complete build of UE4 from source to take several hours. Subsequent builds should, as you said, take less time, but are dependent on what you change, and how many downstream classes are affected by that change.
One thing I learned to be careful about, that helped avoid unnecessary long waits, is to never simply build or (especially) rebuild your project from within Visual Studio — doing so risks compiling both your project and the entire engine together. Instead, you want to use the ‘Build Only…’ option in the context menu when right-clicking your project. Also, avoid using the ‘Clean’ commands, because, if I remember correctly, those also clean out your compiled engine binaries, which will then require a full engine recompile. If you need to clean and rebuild only your project, but not the engine binaries, I recommend going into your project folder and ‘cleaning’ manually by deleting your project’s binaries folder; then use the ‘Build Only…’ option to cause your project (but just your project, not the whole engine) to recompile.
I hope that makes sense and works to help save you some time. It’s a bit of a pain to remember, and I’ve certainly made a few frustrating mis-clicks. But once you know what to avoid, you can begin compiling changes to your project about as quickly as if you were using the launcher version of the engine.