UE 5.3.2 - Building From Source Tips

UPDATE
Since I wrote this post I ended up upgrading my specs. All I did was upgrade from 16GB of RAM to 32GB. This fixed a significant amount of the performance issues I was experiencing during this process including compile times and compile stability. I still try to rebuild the engine as little as possible since it can still take a few hours. Which to restate what I mention below, it is normal to experience compile times that far exceed what’s in the documentation. Unfortunately I haven’t found any further solutions other than this.

Hi there,

I recently made the jump to using UE 5.3.2, and the projects I’m working on require using the source code and building the project from source.

It was an absolute ordeal for me, which spanned nearly a week to get configure correctly. I’d like to post some details about it here in hopes it can help out others, should anyone run into the same issues I had.

Download
I chose to download the source from as a zip file, and this is actually where I ran into my first major issue that can be solved with a bit of reading (which I’m obviously bad at). If you’re following along with the “Getting up and running” instructions, it specified that if you download the zip and you’re using the windows zip utility to unzip the file, you need to right click the file, go to properties, and check the “Unblock” checkbox first. Not doing this caused compiler issues for me, where some resx files were restricted later down the process.
image

Extracting The Files
When extracting the files, you might be tempted to follow the same naming convention as the application does when you just download the engine as an application from the launcher. Generally the top level folder will look something like “UE_5.3”, note the ‘.’ in the folder name. This is what I did, and when it came time to compile the application I kept seeing build.bat would return with error code 6 on some files. Why? Well, apparently this was one of the causes. After renaming the folder replacing ‘.’ with “_” and re-running the setup from start, it cleared up a lot of those issues.

Opening The Project & Building For the First Time
The setup and generate project files steps worked fine. On windows 11, I was prompted to execute the setup with admin rights, but the popup didn’t auto focus or highlight / flash on the task bar. Easy to miss and let sit there if you aren’t paying attention.

Anyways, when I opened the project and went to build the application for the first time, it ran for several hours before I saw several issues.

  1. I was still getting some build.bat errors on some automation files. After a lot of searching, someone suggested turning off windows defender temporarily while the build was running. After doing that and re-opening the project, it actually did clear this up for me.
  2. There were 2 build errors:

“error CS8604: Possible null reference argument for parameter ‘other’ in ‘void HashSet.UnionWith(IEnumerable other)”

“…/AutomationTool\Scripts\CheckForHacks.cs(87,26,87,45): error CA2017: Number of parameters supplied in the logging message template do not match the number of named placeholders”

This thread resolved both compile issues for me:

  1. I did this on 2 different computers. A desktop with 16GB of RAM, Windows 11, on a 1tb hdd. And a laptop with 16GB of RAM, Windows 11, on a 1TB ssd. Both have higher end i7 procs and nvidia geforce graphics cards. Both devices are about 2 years old now.

I specify this, because on both computers the laptop (ssd) took 12 hours to compile on the initial build and the desktop (hdd) took 17 hours, which the documentation says it should only take about 10-40m. This was AFTER I did the following to speed things up:

  1. Close everything and ensure the only thing taking up any kind of substantial memory is VS 2022 and the build process
  2. In the Engine/Config/BaseEngine.ini file, there is a property called “WorkerProcessPriority” set to -1 by default. Changing it to 0 should help. EDIT: originally I said 1; as this was the answer I found and it didn’t effect the build on the engine. But it actually produced a build error for my game project, and after reading it in code with the comments, 0 is normal and it worked for me.
  3. In the project files, there is a file called “BuildConfiguration.cs” which lists the “MaxParallelActions” option and the “bAllCores” option. You can manually override these settings here, which may help with the build performance. I was finding that by default if it found I had 6GB of “free” memory, it would set the parallel actions to a max of like 4, which isn’t very many. However, if you manually adjust this number too high, you could potentially cause some issues by running out of usable RAM.

Initially I couldn’t believe this compile time, since I didn’t have this issue back when I set this up for UE 4.27 on an older computer with worse specs. Looking it up was frustrating, because I wasn’t really given any clear “this is normal, we’re all gunna make it bro” kind of answers. It was generally just people aggressively saying to get more RAM because 16 isn’t enough or some hardware is faulty, ect. So, just know, yes it is normal, and yes we’re all gunna make it. Some of us just need more patience than others.

References
I was referencing the following documentation when setting this up:

Either way, after wasting many hours building the application only to be met with errors every time, I was finally able to get it figured out. I hope someone can find this info useful, and in the future some of these issues can get resolved.

Good luck!

3 Likes