If you’re dealing with slow shader compile times in Unreal Engine, you’re not alone. Compiling shaders can drastically slow down iteration time, especially in large projects. The good news? You can significantly reduce shader compilation time by editing Unreal Engine’s BaseEngine.ini
config file.
In this guide, we’ll walk you through what each line of the [DevOptions.Shaders]
section does, and how to tune it safely for real performance gains.
📍 Where to Find the Config File
To begin, locate your Unreal Engine installation. If you’re using version 5.4, you can typically find the config here:
E:\Program Files\Epic Games\UE_5.4\Engine\Config\BaseEngine.ini
To get there:
- Right-click the Unreal Engine shortcut on your desktop.
- Click Properties.
- Select Open File Location.
- Navigate up two folders until you’re inside the Engine directory.
- Open the Config folder and double-click
BaseEngine.ini
.
Once opened, press Ctrl + F
and search for the word Worker
. You’ll land at the start of the [DevOptions.Shaders]
section.
⚙️ Recommended Shader Config Section
Here’s the config we’ll be using:
[DevOptions.Shaders]
bAllowCompilingThroughWorkers=True
bAllowAsynchronousShaderCompiling=True
NumUnusedShaderCompilingThreads=3
NumUnusedShaderCompilingThreadsDuringGame=4
ShaderCompilerCoreCountThreshold=12
PercentageUnusedShaderCompilingThreads=10
MaxShaderJobBatchSize=20
bPromptToRetryFailedShaderCompiles=False
bDebugBreakOnPromptToRetryShaderCompile=False
bLogJobCompletionTimes=False
ProcessGameThreadTargetTime=.01
WorkerTimeToLive=20
BuildWorkerTimeToLive=1200
WorkerProcessPriority=1
🧠 Line-by-Line Explanation
B Allow Compiling Through Workers
= True
Enables external compile workers. This allows multi-core shader compiling, which dramatically improves speed.
B Allow Asynchronous Shader Compiling
= True
Enables background shader compiling so Unreal doesn’t freeze while shaders are being built.
Num Unused Shader Compiling Threads
= 3
Reserves 3 threads for other tasks while compiling. Reduce to 1 or 2 if you want faster compiles.
Num Unused Shader Compiling Threads During Game
= 4
Same idea, but applies during gameplay. Keeps things smooth while compiling in the background.
Shader Compiler Core Count Threshold
= 12
If your CPU has fewer than 12 threads, Unreal uses the fixed thread counts above. If more, it switches to a percentage-based rule.
Percentage Unused Shader Compiling Threads
= 10
Only 10 percent of your CPU threads are reserved — meaning 90 percent can be used to compile shaders. Lower values = faster compiles.
Max Shader Job Batch Size
= 20
Batches 20 shader jobs at once. Higher values improve throughput but may delay initial feedback.
B Prompt To Retry Failed Shader Compiles
= False
No popup interruptions when shader compilation fails. Better for smooth workflow.
B Debug Break On Prompt To Retry Shader Compile
= False
Triggers a debug break if shader compile fails. Only needed for engine-level debugging.
B Log Job Completion Times
= False
Logs shader job durations — useful for profiling but not needed for most developers.
Process Game Thread Target Time
= 0.01
Unreal will spend 10ms per frame processing shader results. You can increase slightly if shader results are too slow.
Worker Time To Live
= 20
Workers stay alive for 20 seconds before shutting down when idle.
Build Worker Time To Live
= 1200
On build machines, workers stay alive for 20 minutes to save startup time on large projects.
Worker Process Priority
= 1
Raises priority of shader compile workers slightly, speeding up compilation without hurting responsiveness.
✅ Safest Values to Change
If you’re unsure where to start, these are the safest and most effective values to adjust:
PercentageUnusedShaderCompilingThreads
: Lowering this gives an immediate speed-up.WorkerProcessPriority
: Raising to1
helps compilers run faster.MaxShaderJobBatchSize
: Raising to20
improves throughput on multi-core systems.
🧪 Real-World Gains
With these settings, developers have reported shader compile times reduced by up to 40–60 percent, especially on CPUs with 8 or more cores.
🔔 Final Tip
Every system is different. You can tweak more aggressively if you have a powerful CPU, or play it safe with higher reserve values on laptops and older hardware.
For more Unreal Engine performance tips, subscribe to Rambod Dev on YouTube and explore tutorials built for serious developers.
No comment yet, add your voice below!