Rendering options in Unreal Engine
Unreal Engine supports two fundamentally different rendering pipelines, and each of them unlocks (or disables) certain anti-aliasing methods and engine features.
1. Forward Renderer
Forward is a classic single-pass shading pipeline, primarily used for VR and lightweight high-FPS applications.
- Pros: Highest clarity, hardware MSAA, best for VR, cheaper shading.
- Cons: No full support for Lumen, VSM, SSAO, certain translucency effects.
Supported AA methods:
- FXAA (Fast, lowest quality)
- TAA (Temporal AA — softer, stable image)
- MSAA (2× / 4× / 8× — cleanest edges, VR-oriented)
2. Deferred Renderer
Deferred builds a G-Buffer first and resolves lighting afterwards. This is the default and feature-complete pipeline.
- Pros: Highest quality lighting, full UE5 feature set, best for realism.
- Cons: Significantly more expensive for VR; MSAA not supported.
Supported AA methods:
- FXAA (fallback only)
- TAA (primary and recommended)
Which to choose?
- PC VR: Forward + MSAA (2–4×) → most stable image, lowest latency
- Flat-screen PC games: Deferred + TAA → best lighting + high stability
- Stylized or mobile: Forward + FXAA
- Cinematics: Deferred + TAA + higher quality postprocess
Quick final summary & comparison
- Forward + FXAA — lowest quality, fastest performance; not recommended for VR.
- Forward + MSAA — very sharp, ideal for VR; still some shimmering at long distances.
- Forward + TAA — very stable distant details; slightly softer image, may introduce ghosting.
- Deferred + TAA — highest visual quality; supports all UE5 features (Nanite, Lumen, VSM).
Where to enter console commands
Unreal Engine allows verifying and overriding renderer settings through console commands. The console can be opened in several ways:
- Editor Console: Window → Developer Tools → Output Log (recommended)
- In-Editor Viewport: Press
~(if not blocked by keyboard layout) - Packaged builds: Press
~(if console is enabled in Project Settings)
All verification shown in this guide uses the editor console, because certain variables
(like r.PostProcessAAQuality) return nothing when the Forward Renderer is active.
Important note about MSAA vs FXAA/TAA
The Forward Renderer uses a special rule:
If r.MSAACount > 1 → MSAA is active (hardware MSAA),
and it overrides r.AntiAliasingMethod.
This means that:
- Even if
r.AntiAliasingMethodprints "1" (FXAA), - …the real active anti-aliasing may be MSAA 2× / 4× / 8×.
This is the intended behavior. MSAA always takes priority when enabled.
How to confirm real MSAA state
Use this console command:
r.MSAACount
- 1 → MSAA disabled (engine uses TAA or FXAA)
- 2 → MSAA ×2 active
- 4 → MSAA ×4 active
- 8 → MSAA ×8 active
Because of this, the only reliable way to confirm MSAA is reading
r.MSAACount, not r.AntiAliasingMethod.
How to configure renderer & AA in project settings
Enable Forward Renderer
- Project Settings → Rendering
- Enable Forward Shading
- Restart the engine
Enable Deferred Renderer
Deferred is the default — simply ensure that:
r.ForwardShading = 0
Or disable the checkbox in Project Settings → Rendering → Forward Shading.
Configure MSAA (Forward only)
Project Settings → Rendering → Default Settings:
- Set MSAA Samples to 2×, 4×, or 8×
Configure FXAA / TAA
Console variable:
r.AntiAliasingMethod = 1 ; FXAA
r.AntiAliasingMethod = 2 ; TAA
Important limitation:
MSAA overrides r.AntiAliasingMethod
How to verify the active rendering pipeline
Check renderer:
r.ForwardShading
- 1 → Forward Renderer
- 0 → Deferred Renderer
Check anti-aliasing:
r.AntiAliasingMethod
The output looks like this:
Cmd: r.AntiAliasingMethod
HISTORY
Constructor: 4
ProjectSetting: 1
r.AntiAliasingMethod = "1"
LastSetBy: ProjectSetting
- 0: No anti-aliasing
- 1: FXAA
- 2: TAA
- 3: (Legacy MSAA flag, not used in UE5)
Check MSAA state:
r.MSAACount
- 1 → MSAA disabled
- 2/4/8 → MSAA enabled, x-times active
Important: In the Forward Renderer, if r.MSAACount > 1, MSAA overrides the value of r.AntiAliasingMethod even if it reports FXAA. This is expected behavior.
Note: r.PostProcessAAQuality will not return anything in Forward Shading, because the forward pipeline does not use the postprocess AA framework.
Check TAA quality (Deferred only)
r.TemporalAAFilterSize
r.TemporalAACurrentFrameWeight
r.TemporalAA.Upsampling
How to evaluate performance across renderers
To compare configurations, you can use:
1. On-screen performance metrics
stat fps— basic FPSstat unit— CPU/GPU frame timestat rhi— draw calls, primitivesstat gpu— GPU bottleneck analysis
2. Subjective clarity checks
- Shimmering on distant geometry → MSAA better
- Ghosting behind moving objects → TAA issue
- Softness in motion → TAA filter size too high
- Aliasing on thin geometry → FXAA insufficient
3. Repeatable benchmark scenario
- Select one camera angle
- Disable movement
- Change only AA / renderer settings
- Record:
- FPS
- GPU frame time
- Visual impressions
Example rating table (fill in for your project)
| Configuration | Sharpness | Stability | Ghosting | Performance |
|---|---|---|---|---|
| Forward + FXAA | ★★☆☆☆ | ★★☆☆☆ | – | ★★★★★ |
| Forward + MSAA | ★★★★★ | ★★★★☆ | – | ★★★★☆ |
| Forward + TAA | ★★★☆☆ | ★★★★★ | ★★★☆☆ | ★★★★☆ |
| Deferred + TAA | ★★★★☆ | ★★★★★ | ★★☆☆☆ | ★★★☆☆ |