Setup (URP)
beginner conceptsSetup — Universal Render Pipeline (URP)
This page covers the initial setup of Shiny SSR 2 for Unity's Universal Render Pipeline.
Requirements
| Requirement | Details |
|---|---|
| Unity version | 2022.3 LTS or newer |
| URP version | 12.0 or later (via Package Manager) |
| Platforms | Windows, macOS, Linux, Android, iOS, WebGL |
Step 1 — Add the Renderer Feature
- Select your URP Renderer Data asset.
- Click Add Renderer Feature > Shiny SSRR.
Renderer Feature Settings
| Setting | Description |
|---|---|
| Render Pass Event | When Shiny executes in the render loop. Default: after all opaque and transparent objects. |
| Camera Layer Mask | Which cameras render Shiny reflections. |
| Ignore Post Processing Option | Forces Shiny to run even if the camera has post-processing disabled. |
| Use Deferred | Enable if URP is using the Deferred rendering path. |
| Custom Smoothness/Metallic Pass | Forward only. Reads smoothness/metallic from a custom shader pass named "SmoothnessMetallic" (R = smoothness, G = metallic). |
| Use Screen Space Normals | Forward only. Reads normals from the URP DepthNormals pass instead of material bump maps. |
Step 2 — Choose Rendering Path
Deferred (recommended)
Enable Use Deferred in the Renderer Feature, then jump to the Volumes section below. Reflections are applied to all opaque surfaces automatically.
Forward
In Forward mode, add a Reflections script to each object (or parent) that should receive reflections. Forward rendering does not produce g-buffers, so the Reflections script gathers smoothness and metallic data from materials and passes it to the Shiny shaders.
Reflections script reads them from each material and submits them to the GPU.
Transparent surfaces (water, glass, sprites)
If your scene includes transparent surfaces that should reflect or receive reflections, enable Depth Prepass on the Shiny SSR Renderer Feature and set its Layer Mask to the relevant layer so SSR rays can hit transparent pixels. If you also need smooth normals for water/glass shaders, enable Screen Space Normals with the Transparents sub-option and matching layer mask. Without these, transparent shaders skip URP's depth and DepthNormals passes and remain invisible to SSR. For per-renderer control, add a ShinyTansparentSupport component to the GameObject instead. See the FAQ for caveats with vertex-displaced water shaders.
Step 3 — Create a Volume
Global Volume
Add a Global Volume to your scene and add the Shiny Screen Space Raytraced Reflections override. This applies reflections scene-wide with a single set of settings.
Local Volumes
For area-specific reflection settings (e.g., a wet room vs. a dry corridor), create Local Volumes with their own Shiny SSRR override. The camera blends between volumes automatically.
Verify with the Demo Scene
Open the included demo scene. If reflections are visible on the floor and objects, your setup is complete. If not, double-check that the Renderer Feature is added to all URP assets in Project Settings > Graphics (there may be different assets per quality level).
Suggest an improvement
Help us improve this documentation page.