This project allows you to speedup re-compilation of Unreal Engine (and UE-based games) by caching intermediate compilation files, reducing time by 60-90%.
octobuild is available via Chocolatey package manager. If you already have Chocolatey installed, you can just run the following command from elevated console:
choco install octobuild
-
Download MSI installer
-
Double-click on it
-
Next-next-next
You can install octobuild on Ubuntu/Debian using the following commands:
# Set up repository
curl -1sLf 'https://dl.cloudsmith.io/public/octobuild/octobuild/setup.deb.sh' | sudo -E bash
# Install octobuild
sudo apt-get install octobuild
-
Download deb package
-
Install it via
dpkg -i <octobuild>.deb
octobuild is available via Homebrew package manager.
If you already have Homebrew configured, you can install octobuild with a single command:
brew install octobuild
You do not need to use octobuild directly. Just build Unreal Engine as usual, via Unreal Build Tool, Unreal Automation Tool or your IDE. Under the hood, they will automatically use octobuild.
Also see Linux notes.
You can list configuration files and check actual configuration by running ib_console
/xgConsole
without parameters.
Platform | System-wide config | User-specific config (overrides system defaults) |
---|---|---|
Linux |
|
|
Windows |
|
|
macOS |
|
|
Environment variables have higher priority than config files.
OCTOBUILD_CACHE
(string)-
specifies path to directory where octobuild cache is stored. Default is
%LocalAppData%/octobuild/cache
on Windows,~/.cache/octobuild
on Linux and~/Library/Caches/octobuild
on macOS. OCTOBUILD_CACHE_LIMIT_MB
(number)-
specifies octobuild disk cache size limit in megabytes. Defaults is 64GB.
OCTOBUILD_PROCESS_LIMIT
(number)-
specifies max number of concurrent processes octobuild will spawn. Default is number of cores.
OCTOBUILD_USE_RESPONSE_FILES
(bool)-
specifies whether octobuild should use compiler response files to overcome commandline length limitation. Default is
true
on Windows andfalse
on other platforms. Enable this if you’re gettingERROR: The filename or extension is too long. (os error 206)
on Windows.
Linux build tested on AMD Ryzen 7 3700X, 32GB DDR4 @ 3200MHz, SSD and Unreal Engine 5.0.3 by running <engine>/Engine/Build/BatchFiles/RunUAT.sh <game>.uproject <game>Editor DebugGame Linux
.
Windows build tested on Intel Core i7-9700F, 32GB DDR4 @ 2400MHz, SSD and Unreal Engine 5.0.3 by running <engine>/Engine/Build/BatchFiles/RunUBT.bat <game>.uproject <game>Editor DebugGame Win64
.
Console builds tested on Intel Core i7-9700F, 32GB DDR4 @ 2400MHz, SSD and Unreal Engine 5.0.3 by running <engine>/Engine/Build/BatchFiles/RunUBT.bat <game>.uproject <game> DebugGame <platform>
.
Platform | Without octobuild | octobuild (0% cache) | octobuild (100% cache) |
---|---|---|---|
Linux |
3m54s |
3m53s |
36s |
Win64 (MSVC 2019) |
8m4s |
10m6s |
2m15s |
PS4 |
6m12s |
7m10s |
2m34s |
PS5 |
5m48s |
6m56s |
2m11s |
XB1 |
4m40s |
6m10s |
1m39s |
XSX |
4m49s |
5m42s |
1m40s |
-
Install Rust
-
(Windows only) Install Visual Studio 2019 or 2022. Enable "Desktop development with C++" workload. Also, enable "C++ 2019 Redistributable MSMs" "C++ 2022 Redistributable MSMs" in individual components.
-
Clone octobuild Git repository
-
Run
cargo build
in repository root to compile octobuild