About heavy time cost for compiling the engine from source code

I was just wondering how does the developers of engine do their work.

In my case, it takes more than one hour to build, which means I can not test any modification before the heavy compiling time. It will rebuild the whole solution even for a simple modification.

It takes me a really long time too. It used to be much faster in earlier versions. I also ended up upgrading my PC at some point and it was about 15 minutes. Now that same computer takes really long too.

I think I need a PC upgrade, and the devs usually work on really high end PCs. I expect my compile times to be much faster once I upgrade.

I just thought it should have been solved in industry field.

After all, this takes the working efficience to a very low level.

They solve it by having really high end machines, unfortunately. The UE4 source is incredibly gigantic. Most people actually just pull the prebuilt versions of UE4.

We have to do a full rebuild only once a week or so. Individual modifications don’t often require long compile times unless we edit a public header. During iteration on source files, intermittent compile times are like, 20 seconds at most.

Moving forward, anything not critical to the engine will be a plugin. This will bring down compile times considerably, but there’s a lot of functionality to move out to a plugin so we’re a few years from that point yet.

Individual modifications don’t often require long compile times unless we edit a public header.

That sounds good.

In my expriment, I have to add some passes to the deferred renderer, which cannot be taken to plugins. If with Unity, I can do this with SRP.

Thats weird, I do modification all the time and literary take only 2 or 3 mins to update the build unless I delete the intermediate folder which in that case it compile everything again. Im compiling with Visual Studio 2022. If you use the BuildGraph to make an Installed Build it will take ages to compile no matter what.

Ah yeah, render code is pretty well-ingrained in the engine. You could try Incredibuild, though I haven’t tried it myself. I’ve heard in some cases it can cut compile time in half.

Nice advice. Thank you~~

1 Like