Unreal Engine X - Engine Setup

Current Disk Footprint
The current UE5.8.2-based fork has been measured approximately as:
| Build | Disk usage |
|---|---|
| Regular UE5.8.2 source/build checkout | ~370-400 GB |
| Unreal Engine X aggressive slim | ~201.9 GB |
| PDB files in the slimmed build | ~50-80 GB |
Final figure is around 150GB. These figures are reference measurements, not fixed requirements. Actual size varies with:
- enabled engine plugins,
- compiler output,
- build configuration,
- Intermediate data,
- Git history and local repository state,
- Derived Data,
- and debugging symbols.
Recommended Setup Workflow
For a fresh Unreal Engine X checkout:
git clone --depth 1
|
v
XDevops\XInitSubmodules.bat
|
v
XDevops\XSetupSlim.bat
|
+--> Optional: XSetupSlim_V2.bat
| Uses .gitdepsignore to avoid downloading
| unsupported platform payloads.
|
v
GenerateProjectFiles.bat
|
v
Build UnrealEditor / project
|
+--> Optional: XCleanPDBs.bat
|
+--> Optional: XCleanDisabledPlugins.bat
|
+--> Optional: XCleanThirdParty.bat
Recommended defaults:
- use
--depth 1unless complete Git history is required, - use platform-only GitDependencies exclusions,
- use cleanup scripts only after Setup and only for generated or explicitly reviewed data,
- keep PDB files if engine-level debugging is required.
1. Clone the Repository
If the complete Git history is not required, use a shallow clone:
git clone --depth 1 https://github.com/mad-ben/UnrealEngine.git
A shallow clone reduces the initial Git repository footprint substantially.
Normal pulls can continue to work while the fork advances linearly, but operations requiring older common ancestors may fail after rebases or larger upstream synchronization changes.
Restore the complete history later with:
git fetch --unshallow
2. Initialize Engine Submodules
Initialize the external engine integrations with:
XDevops\XInitSubmodules.bat
3. Run XSetupSlim
Run:
XDevops\XSetupSlim.bat
XSetupSlim is the preferred replacement for invoking Epic's Setup.bat directly.
The setup policy is read from:
XDevops\config.txt
The setup-time dependency policy is intentionally conservative.
XSetupSlim_V2
For a more aggressive setup, use:
XDevops\XSetupSlim_V2.bat
XSetupSlim_V2 uses the root .gitdepsignore file to avoid downloading unsupported platform payloads.
Platform exclusions are defined in:
XDevops\config.txt
and reflected in:
<UE_ROOT>\.gitdepsignore
Use V2 only after reviewing both files and confirming that every excluded platform is intentionally unsupported by the checkout.
GitDependencies Policy
Unreal Engine source setup uses Epic's GitDependencies system to download binary files, libraries, tools, symbols, and other payloads that are not stored directly in Git.
Unreal Engine X uses a generated root file:
<UE_ROOT>\.gitdepsignore
to avoid downloading unsupported platform payloads.
Platform-only exclusions
The current .gitdepsignore policy is intentionally limited to platform and architecture exclusions.
Examples include:
Linux
LinuxArm64
Mac
IOS
TVOS
Android
Lumin
VisionOS
WinArm64
Typical patterns include paths are:
**/Linux/**
**/LinuxArm64/**
**/Android/**
**/IOS/**
**/Mac/**
**/TVOS/**
**/VisionOS/**
**/WinArm64/**
**/windowsarm64/**
This reduces the Setup download and installed dependency footprint.
Platform Exclusions
Platform exclusions are configured in:
XDevops\config.txt
using entries such as:
EXCLUDE:Linux
EXCLUDE:LinuxArm64
EXCLUDE:Mac
EXCLUDE:IOS
EXCLUDE:TVOS
EXCLUDE:Android
EXCLUDE:Lumin
EXCLUDE:VisionOS
EXCLUDE:WinArm64
These exclusions are used during Setup to avoid downloading dependencies for unsupported targets.
Platform exclusions affect what GitDependencies downloads.
If a previously excluded platform is required later:
- remove the corresponding
EXCLUDE:entry, - regenerate the setup policy,
- rerun
XSetupSlim.bat, - allow GitDependencies to restore the missing platform payloads,
- rebuild the required targets.
Changing target settings alone is not enough if the platform dependency files were never downloaded.
PDB Cleanup
Use:
XDevops\XCleanPDBs.bat
to remove generated Program Database (.pdb) files when engine-level debugging is not required.
The cleaner only targets .pdb files below generated:
Binaries
Intermediate
directories beneath:
Engine
It deliberately avoids arbitrary source/vendor PDB files such as those under:
Engine\Source\ThirdParty
PDB files are required for useful engine-level debugging.
Removing them does not normally prevent the editor from launching, but it reduces debugging quality significantly.
Without the corresponding PDB files:
- call stacks may lose useful symbol information,
- source-level engine debugging is limited,
- variable inspection may be unavailable,
- crash analysis becomes less useful.
Rebuilding the corresponding engine modules regenerates the required PDB files.
ThirdParty Cleanup
Use:
XDevops\XCleanThirdParty.bat
The cleanup policy is configured with:
CLEAN_THIRDPARTY_DEBUG_PACKAGE:
CLEAN_THIRDPARTY_PATH: