Building UE4 using fastbuild

I’ve been looking into incorporating fastbuild (FASTBuild - High-Performance Build System) into the workflow where I work. I managed to find ways to incorpotare it into the engine to make it build games using it.

Next, I want to find a way to compile the engine itself in VisualStudio using fastbuild, but that seems to require complicated configuration apparently.

Has anyone else done this to speed up their own builds of UE4? I’ve found absolutely nothing after extensive google searching.

Thanks in advance.

1 Like

Hello Paulop,

I have used this github repo and instructions: There is really only one file to add, and a small change in ActionGraph.cs

I’m using VS2017 and UE 4.19. I may have to make a small change here or there to get the .cs file to compile on 4.19 since it’s built for 4.18, but it pretty much works out of the bag if you follow the instructions.

I do get some duplicate object linker warnings though, that I haven’t looked into. They seem harmless, and I’d like to investigate, but haven’t had the time yet.

Good luck!

Getting Fastbuild to work on your local machine is fairly straight forward.

Using FASTBuild with Unreal Engine 4

It gets more complicated if you want to include other machines - which I haven’t tried yet.

Does Fastbuild support distributed shader compile, too?

No clue :frowning:

May I ask if the actual performance lives up to FASTbuilds promise or is the compilation still super slow?

It uses the same compiler underneath, and is compiling the same files. It just distributes the compilation to your computers on the same network. I have found it to be significantly faster with 3 computers on my network as opposed to 1.

I use to build UE4.19, found there are two compiling errors:
NvClothIncludes.h(14) error C2059: syntax error: ‘)’
NvClothIncludes.h(50) error C2059: syntax error: ‘)’

the code is:
PUSH_macro(check)

I do not know how to fix it, do you know about it EricFriedman

This is actually a bug of visual studio. See pragma push_macro error on visual studio 2015 · Issue #256 · fastbuild/fastbuild · GitHub

Hey–

It looks like a lot of the 4.19 issues have been ironed out in the github for the FASTBuild integrationEric posted earlier. Has anyone had success getting it to work with 4.20? There are some people digging into it but it looks like they hit some nasty looking (to my eyes) snags, and was wondering if anyone on here has made progress on it.

Cheers

Hello,
A new version has been pushed (Release 4.21.1 · liamkf/Unreal_FASTBuild · GitHub) that supports 4.21.1 (Win64, Xbox, PS4).
Distribution tested (except XB1).
Caching not tested.

Cheers

1 Like

Does fast build distribute build shader compilation?

Yup, I have the same question.
Does it destribute shader compilation?

I actually tried really hard to make fastbuild to work well with 4.21.2 But I was barely able to make it work for code compile, but still with some errors every now and then … ( could be due to the cache or PHC < prebuilt header compile > issue… But never was able to completely make shader part to work properly over distributed network. I got to the part where it looks like the workers from other pc is doing some work, but returns with errors and sometimes crashed unreal outright.

Really hoping, that some one can post working version of fastbuild for 4.21.2 along with other necessary changes for the shader build … :frowning:

Or even better one for 4.22 … (even if it is still a preview…, 4.22 mentions some faster compile times over previous versions… so it is interesting to see how fast we can do this with fastbuild. )

I’m interesting in modify FastBuild.cs for add ability to build on android. Is it possible? Is it enough modify FastBuld.cs only? Can someone give some advice maybe? Thanks.