Chapter 10: Screen Space Effects
This is Part 4 of the Unity HDRP production guide, continuing from Part 3: Cinematic Lighting. This installment goes deep on advanced rendering: screen-space effects, ray tracing, path tracing, denoising, and post-processing/export for production.
10.1 How Screen-Space Techniques Work
Screen Space techniques analyze what's visible on screen - depth, normals, colors - to simulate complex phenomena in real time, trading some accuracy for a strong performance/quality balance. Their shared advantages: fast, screen-data-based computation; dynamic results that react to motion; compatibility with non-static objects. Their shared limitations: they only see what's currently on screen; they produce artifacts at screen edges (missing information); and quality depends on resolution and viewing angle.
10.2 SSAO (Screen Space Ambient Occlusion)
SSAO darkens areas ambient light struggles to reach - corners, crevices, surface intersections - adding depth and volume to objects. Add an Ambient Occlusion override to a Volume, then tune:
| Parameter | Description | Recommended value |
|---|---|---|
| Intensity | Occlusion strength | 0.5 - 1.5 |
| Radius | Sample distance | Depends on scene scale |
| Direct Lighting Strength | Interaction with direct light | 0.5 - 1.0 |
| Quality | Sample count | Medium for real time |
SSAO is recommended for nearly every scene - its relatively low cost and strong visual impact make it close to mandatory, improving shape readability and depth perception.
10.3 SSR (Screen Space Reflections)
SSR computes real-time reflections from on-screen depth information - ideal for reflective surfaces. Enable it globally (HDRP Settings → Lighting → Screen Space Reflection), then add an override in a Volume. Key parameters: Screen Edge Fade Distance, Max Ray Steps (reflection precision), Object Thickness (assumed object thickness), Min/Max Smoothness (which surfaces are affected).
Important limitations: off-screen objects can't be reflected, visible cutoffs appear at screen edges, quality varies with viewing angle, and very smooth surfaces can show artifacts. For reflections without these limits, consider Ray-Traced Reflections (Chapter 11) on compatible hardware.
10.4 SSGI (Screen Space Global Illumination)
SSGI simulates indirect lighting by analyzing visible surfaces - light bounces off surfaces and lights adjacent areas, producing realistic color bleeding. Enable it globally (HDRP Settings → Lighting → Screen Space Global Illumination), add a Global Illumination override in a Volume, and select the Screen Space mode. Parameters: Quality (Low/Medium/High), Full Resolution (expensive), Max Ray Steps, Denoise.
Advantages over baking: fully dynamic indirect lighting, works with non-static objects, no precompute time, reacts immediately to lighting changes. Limitations: performance-expensive, screen-based (a surface not visible contributes nothing), and lower quality than baked lightmaps for static environments.
10.5 Combining and Optimizing
| Technique | Cost | Visual impact | Priority |
|---|---|---|---|
| SSAO | Low | High | 1 (always enable) |
| SSR | Medium | Medium-high | 2 (if reflective surfaces) |
| SSGI | High | High | 3 (if budget allows) |
For real-time production (games, interactive): SSAO yes, SSR yes (Medium quality), SSGI optional depending on hardware. For cinematic production: enable all three at high quality, or replace them with ray tracing.
Chapter 11: Ray Tracing in HDRP
11.1 Hardware and Software Requirements
| Element | Minimum | Recommended |
|---|---|---|
| GPU | NVIDIA RTX 20xx / AMD RX 6000 | RTX 30xx+ / RX 7000+ |
| VRAM | 8 GB | 12 GB+ |
| OS | Windows 10 | Windows 11 |
| API | DirectX 12 | DirectX 12 |
| Unity | 2021.2+ | 2022.2+ (LTS) |
To enable: add DirectX 12 first under Player Settings → Other Settings → Graphics APIs, then turn on Ray Tracing under HDRP Global Settings → Frame Settings → Lighting, and enable individual effects as needed.
11.2 Available Ray-Traced Effects
Ray-Traced Reflections (RTR) replace SSR with physically correct reflections, including for off-screen objects. Configure via Volume → Add Override → Lighting → Screen Space Reflection, Mode: Ray Traced. Parameters: Layer Mask (Everything), Ray Length (50-200 depending on scene), Sample Count (8-16 for real time), Bounce Count (1-2), Denoise (enable). Advantages over SSR: correct reflections even off-screen, no edge cutoffs, accurate inter-object reflections, native transparency support.
Ray-Traced Global Illumination (RTGI) gives physically correct indirect lighting, replacing SSGI and potentially lightmaps. Configure via Volume → Add Override → Lighting → Global Illumination, Mode: Ray Traced. Parameters: Ray Length (100-500), Sample Count (16-32 for real time), Bounce Count (1-2), Denoise (mandatory). Fully dynamic indirect lighting with realistic color bleeding, no baking needed.
Ray-Traced Ambient Occlusion (RTAO) gives physically correct AO without screen-space artifacts. Configure via Volume → Add Override → Lighting → Ambient Occlusion, Mode: Ray Traced. Parameters: Ray Length (2-10), Sample Count (8-16), Denoise (enable).
Ray-Traced Shadows give physically correct shadows with no shadow-mapping bias or artifacts, configured directly on the Light component (not a Volume): Shadow Map set to Ray Traced, Sample Count controlling soft-shadow sharpness. Advantages: physically correct soft shadows for Area Lights, no shadow-mapping artifacts, perfect contact shadows, colored transparency inside shadows.
Recursive Rendering enables recursive reflections and refractions through transparent objects. Configure via Volume → Add Override → Rendering → Recursive Rendering: Max Depth (2-4), Ray Length. Used for face-to-face mirrors, diamonds, thick glass, stacked transparent objects.
11.3 Denoising
Ray tracing inevitably produces noise from limited sampling - denoising is essential for a clean result. A Spatial Denoiser (built in) analyzes neighboring pixels to smooth noise, fast and real-time-friendly - it's the Denoise parameter on each RT effect. A Temporal Denoiser accumulates successive frames for better quality, but can ghost with fast camera movement (the Temporal Filtering option in advanced settings).
Best practices: always enable denoise on real-time RT effects; for offline path tracing, prefer raising the sample count instead; use temporal filtering only for slow or static cameras; and a slight residual grain can look more natural than aggressive denoising.
11.4 Shader Compatibility
Not every HDRP shader supports ray tracing:
| Shader | RT Compatible | PT Compatible |
|---|---|---|
| Lit | Yes | Yes |
| Layered Lit | Yes | Yes |
| Fabric | Yes | Yes |
| Eye | Yes | No |
| Hair | Yes | No |
| Unlit | Partial | Partial |
11.5 Choosing Between Rasterization, Ray Tracing and Path Tracing
A practical decision path: if there's no RTX/RDNA2+ GPU available, use pure rasterization (SSAO + SSR + SSGI, with baked GI). If ray tracing hardware is available and the target is real time (games/interactive), the FPS budget decides how far to go - at 60+ FPS, stick to light RT (RT Shadows only, SSR for reflections, SSGI or baked GI); at 30 FPS, go hybrid (RTR Medium + RTAO, SSGI or low RTGI); with no strict frame budget, go full RT (RTR High + RTGI + RTAO + denoising). For offline rendering, standard quality still suits full RT, but cinematic quality calls for Path Tracing with high sample counts (1000+), Max Depth 8, and automatic denoising.
Chapter 12: Path Tracing
12.1 Ray Tracing vs. Path Tracing
| Aspect | Ray Tracing | Path Tracing |
|---|---|---|
| Approach | Hybrid (raster + selective RT) | Full light simulation |
| Performance | Real time possible | Not real time (offline) |
| Quality | Very good | Cinematic |
| Convergence | Immediate | Progressive |
| Use case | Games, interactive apps | Final renders, ArchViz |
Path Tracing exhaustively simulates every possible light path in the scene - each frame adds samples that progressively improve the image until convergence, replacing every other lighting system (SSGI, classic RT, lightmaps) with one unified, physically correct calculation.
12.2 Configuration
Enable via HDRP Global Settings → Lighting → Path Tracing, then Frame Settings → Path Tracing, and on the Camera: HD Additional Camera Data → Enable Path Tracing.
| Parameter | Description | Recommendation |
|---|---|---|
| Maximum Samples | Convergence limit | 1,000-10,000 |
| Minimum Samples | Minimum sample count | 64-128 |
| Maximum Depth | Maximum bounces | 4-8 |
Accumulation mode is either Auto (recommended) or Manual (explicit sample-count control). To render, hit Play in the editor - the image progressively improves as noise decreases.
12.3 Advantages of Path Tracing
Complete global illumination (every light bounce simulated), caustics (light concentration through glass/water), physically correct subsurface scattering, perfectly soft shadows and penumbras, complex inter-object reflections, and quality comparable to Arnold, V-Ray or Cycles. Ideal for architectural presentation renders, cinematics and pre-rendered sequences, marketing and product visualization, and any context where quality matters more than speed.
12.4 Limitations and Workarounds
| Element | Status |
|---|---|
| Eye and Hair shaders | Not supported |
| Tessellation | Not available |
| Volumetric Clouds | Not rendered |
| HDRP Water System | Not supported |
| Local Volumetric Fog | Not supported |
| 3D TextMeshPro | Not visible |
| Streaming Virtual Texturing | Not compatible |
Workarounds: for characters, use hybrid RT for renders with detailed hair and eyes, reserving PT for environments; for vegetation, favor static meshes over terrain painting; for 3D text, replace it with textures on planes. Production strategy: keep two scene configurations - one for real time with hybrid RT, another optimized for offline PT.
12.5 Recommended Hybrid Workflow
The most efficient workflow combines both approaches: hybrid ray tracing for fast feedback during editing and previsualization, then path tracing for maximum quality on final renders. Both modes share the same base setup (materials, lights), making it easy to switch between them.
Chapter 13: Post-Processing and Export
13.1 Post-Processing in HDRP
Post-processing applies after the scene renders, directly on the final image, configured via overrides in a Volume (Global or Local). HDRP applies effects in a fixed order: Exposure → Color Adjustments/White Balance → Tonemapping → Bloom → Depth of Field → Motion Blur → Vignette → Film Grain.
13.2 Essential Effects
Exposure controls the image's overall exposure: Fixed (manual value), Automatic (adapts to brightness, with Metering Mode, Adaptation speed, and Limit Min/Max), Curve Mapping (custom curve), or Physical Camera (based on camera parameters).
Tone Mapping converts HDR values to LDR for display, defining the image's final "look": None (rarely used), Neutral (balanced, general use), ACES (cinema standard, cinematic look), Custom (a custom curve).
Bloom simulates glow from intense light sources - Threshold (minimum intensity to trigger it), Intensity, Scatter (halo diffusion), Tint. Use it to make lights and emission more convincing, but sparingly.
Color Adjustments - Post Exposure, Contrast, Color Filter (multiplicative), Hue Shift, Saturation. White Balance - Temperature (warm/yellow to cool/blue), Tint (green to magenta). Vignette darkens the image edges progressively - Intensity, Smoothness, Rounded (circular vs. rectangular) - used to frame attention and add a cinematic feel. Motion Blur - Intensity, Sample Count, Camera Motion Blur toggle. Depth of Field - see Chapter 8 for full configuration. Film Grain adds organic-looking grain - Type (Thin, Medium, Large), Intensity, Response (a luminance curve); modern productions often keep it around 0.15-0.25, nearly invisible but enough to break up an overly clean CG look.
Three more effects round out the creative toolkit. Chromatic Aberration simulates color fringing at lens edges - subtle at 0.3-0.5 intensity, a strong creative effect near 1.0, useful for security-camera or CRT looks, altered-perception moments, or paired with motion blur for an impact hit; it tires the eye fast if overused. Lens Distortion bends the image like a wide or fisheye lens - negative values barrel, positive values pincushion - good for action-cam POVs, drone or robot vision, or a vertigo effect, but too much reads as nauseating, especially in VR or during fast motion. Split Toning tints shadows and highlights separately (distinct from White Balance's single global tint) and is what gives a color grade a specific emotional temperature - sickly blue-green shadows against dirty orange highlights read as horror, deep violet against luminous gold reads as fantasy.
13.3 Advanced Color Grading
Lift Gamma Gain gives separate control over shadows (Lift), midtones (Gamma) and highlights (Gain). Shadow Midtones Highlights is a more intuitive alternative with explicit separation. Curves give total control via Hue vs. Hue (retarget a specific hue), Hue vs. Sat (saturate/desaturate a hue), Sat vs. Sat (saturation by intensity), and Lum vs. Sat (saturation by luminance). LUTs (3D Look-Up Tables) let you import external, predefined looks.
Combining these into a coherent grade is where a scene's genre actually reads. Three starting points:
| Look | Key moves |
|---|---|
| Survival horror | Post-exposure -0.5, contrast +25, saturation -30, hard vignette (0.6), coarse film grain, sickly blue-green/orange split toning, chromatic aberration 0.4 |
| Fantasy | Post-exposure +0.3, saturation +15, bloom threshold 0.8 with a violet-blue tint, violet/gold split toning, soft rounded vignette |
| Cyberpunk | Post-exposure -0.3, contrast +30, bloom threshold 1.2 with a cyan tint so only neons bloom, custom crushed-shadow tonemap curve, chromatic aberration 0.6 for a glitchy edge |
13.4 Unity Recorder and Export
Install via Window → Package Manager → Unity Recorder, then access it via Window → General → Recorder → Recorder Window.
| Type | Description | Format |
|---|---|---|
| Image Sequence | Sequence of images | PNG, JPEG, EXR |
| Movie | Video file | MP4, WebM |
| Animation Clip | Animation clip | .anim |
| AOV Image Sequence | Separate render passes | EXR |
To export images: Add Recorder → Image Sequence; set Capture (Game View, Target Camera, etc.); Output Resolution (HD, Full HD, 4K, Custom); Media File Format (PNG for quality, EXR for HDR); enable Include Alpha for transparency.
AOVs (Arbitrary Output Variables) are separate render passes for external compositing:
| Pass | Content |
|---|---|
| Beauty | Final composited image |
| Depth | Z-depth |
| Normal | Surface normals |
| Albedo | Diffuse color without lighting |
| Ambient Occlusion | Isolated AO |
| Motion Vectors | Motion vectors |
| Specular | Specular highlights |
| Diffuse | Diffuse lighting |
To configure: Add Recorder → AOV Image Sequence, select the passes to export, and use 32-bit EXR as the format. In compositing, these passes give total post-production control: adjusting lighting without re-rendering, modifying depth of field, per-pass color grading, and post motion blur. Compatible with Nuke, After Effects, DaVinci Resolve, Photoshop.
Part 4 Summary
| Chapter | Skills covered |
|---|---|
| Ch. 10 - Screen Space | SSAO, SSR, SSGI - configuration and optimization |
| Ch. 11 - Ray Tracing | Activation, RT effects, denoising, compatibility |
| Ch. 12 - Path Tracing | Configuration, limitations, hybrid workflow |
| Ch. 13 - Post-Processing | Tone Mapping, Color Grading, Recorder, AOV |
Key takeaways: screen-space techniques give a good quality/performance balance; ray tracing meaningfully improves quality on compatible hardware; path tracing produces cinematic results but isn't real time; denoising is essential for both RT and PT; Tone Mapping (ACES or Neutral) is essential for a correct-looking render; and AOV passes give total post-production control.
Part 5, next, moves into environments: terrain creation, the GAEA workflow, vegetation, and atmosphere.