Renderer & Anti-Aliasing configuration in Unreal Engine

How to correctly configure rendering and anti-aliasing settings in Unreal Engine, especially for PC VR?

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

  1. Forward + FXAA — lowest quality, fastest performance; not recommended for VR.
  2. Forward + MSAA — very sharp, ideal for VR; still some shimmering at long distances.
  3. Forward + TAA — very stable distant details; slightly softer image, may introduce ghosting.
  4. 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.AntiAliasingMethod prints "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

  1. Project Settings → Rendering
  2. Enable Forward Shading
  3. 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 FPS
  • stat unit — CPU/GPU frame time
  • stat rhi — draw calls, primitives
  • stat 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

  1. Select one camera angle
  2. Disable movement
  3. Change only AA / renderer settings
  4. 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 ★★★★☆ ★★★★★ ★★☆☆☆ ★★★☆☆

Preset configurations

Get ready-to-use configuration packs

  • Forward + FXAA
  • Forward + MSAA
  • Forward + TAA
  • Deferred + TAA (High Quality)
  • Deferred + TAA (Optimized)
Get the configuration packs.