Fast Iteration Mode

Anybody else using fast iteration mode? The option bEnableFastIteration is not recognized in BuildConfiguration.cs, but when I bUseUnityBuild to false, VS generates separate obj files for each source file. I wonder what are the best practices when compiling for the editor and as a stand-alone executable.

Thanks Rama! We have many engineers who are passionate about having the best possible compile times, and we will get there as soon as we can. I think that with the help of the wider community, it should be possible even faster.

–Mike

This is an area that we are looking at closely and trying to improve every day!

Okay, because you didn’t specify, I’m assuming that you are compiling game projects, not the whole engine source code.

For the current release, we tried to set things up as such:

  • Unity builds are automatically disabled for small projects. This is so that iterative compile times will be faster!
  • The first time that you compile a game project, a PCH file will be generated. It will take a while the first time.
  • Subsequent incremental compiles should be rather quick, assuming you are changing your project’s private .cpp files. The cached PCH well be used and your compile time should only take a few seconds.
  • If you make a ‘global’ change to your game’s header, the PCH may need to be regenerated and the compile will take longer for that run.

You shouldn’t need to make any tweaks to build settings to achieve decent compile times. Just keep in mind that your first compile will be much slower than future iterative compiles, because we have to cache fresh PCH data.

If you’re using GitHub builds with full source, you can check out the MinGameModuleSourceFilesForUnityBuild setting in BuildConfiguration.cs to tweak settings for game projects. Also note that when compiling using the “installed” version of the engine, build times are generally faster because we don’t need to check for outdatedness in the engine code at all.

Bonus: In the next release, we’re going to allow you to tweak UnrealBuildTool settings using an .xml configuration file instead of having to edit the source code. This means that users of the ‘installed’ engine will also be able to tweak certain build settings safely.

We recognize compile times are a super important issue and it is very near and dear to our hearts, and we will work very hard to improve this for future releases.

Hope that helps!

–Mike

#Thank You Mike Fricker

I was overjoyed to see that our discussions from the Beta made into to the main build, and

I have been loving my CPP compile times!

Thank you again Mike!

2537-rainbow.jpg

Rama