Why do Engine builds happen so often?

For example, when I switch between Development Editor and DebugGame Editor, it always does a full engine build, even if I haven’t modified any UE4 code. Why wouldn’t it use any of the previous built OBJs or lib files for the engine? It seems to do a full engine build when packaging the project, as well.

This takes a toll when I have to keep switching between solution configurations to make a build for artists and level designers. Is this a bug or is it just required for some reason?

I have this same question too. Would really help out to fix this issue.

Well if you build for diffrent configuration all files need to be recompiled as all of them might have code for specific configuration.

You can workaround it by installing prebuild version of engine and use it to build “Development Editor” , and source for debug

Not only that, but if you perform a project-only rebuild, VS still rebuilds the entire solution. I’m not sure if this is Epic’s issue or an issue with VS not handling external build tools correctly and marking everything as dirty.

But the built objs are stored in seperate directories for dev and debug configurations. So they should already take into account for different code if any. I am still not sure why the rebuild needs to take place once a build has been performed for both the debug and the dev configurations. Right now I use multiple copies of engines as you suggest, but that’s quite an overhead as everytime you need to update the engine you need to recompile all your copies on your all your machines. For me this this is 3*(>3) recompiles.

Also when I regenerate project files for my game then an entire recompile happens. It seems to be related to this same problem. This doesn’t always happen, so I don’t have the exact repro for this.

Hi ShinAli,

We have recently done some work to reduce project build times, and you will see your concern addressed in a future version of the Engine.

Cool, looking forward to it.