Reflections & Settings
intermediate conceptsReflections & Settings
This page covers how to add reflections to your scenes and all available parameters in Shiny SSR 2, organized by category.
Forward vs. Deferred
| Feature | Forward | Deferred |
|---|---|---|
| Setup | Requires Reflections script on target objects | Automatic — reads from g-buffers |
| Per-object control | Full control via Reflections script | Global settings only (unless Mixed Mode is enabled) |
| Transparent objects | Supported via Reflections script | Requires Mixed Mode + Reflections script |
| Performance | Can be faster (processes only tagged objects) | Processes entire screen |
| PBR accuracy | Depends on material properties gathered by script | Per-pixel smoothness/metallic from g-buffers |
PBR Workflows (URP)
| Workflow | Behavior |
|---|---|
| Smoothness Only | A single value controls both reflection intensity and surface roughness. Simpler, good for stylized projects. |
| Metallic and Smoothness | Follows the PBR model: Metallic controls reflection intensity, Smoothness controls sharpness. More physically accurate. |
Reflections Script (Per-Object)
Add the Reflections component to objects that should receive reflections (required in Forward, optional in Deferred with Mixed Mode).
| Property | Description |
|---|---|
| Ignore | Excludes this object from reflections. Useful when the script is on a parent covering many children. |
| Scope | Apply reflections to this object only, include children, or filter by layer/name pattern/sub-meshes. |
| Use Material Smoothness | Reads the _Smoothness property from the object's PBR material. |
| Smoothness Map | Optional texture whose alpha channel provides per-pixel smoothness (use with Smoothness Source = Custom). |
| Per Sub Mesh Smoothness | Assigns different smoothness values to individual sub-meshes. |
| Smoothness | Manual smoothness value used when Use Material Smoothness is off or the material lacks the property. |
| Use Material Normal Map | Uses the material's normal map for reflection perturbation. |
| Material Property Names | Shader property names for smoothness map, normal map, and smoothness value. Customize for non-standard shaders. |
| Override Global Settings | Enables per-object raytracing overrides (sample count, decay, jitter, etc.). |
General Settings
| Setting | Description |
|---|---|
| Reflections Style | Shiny Reflections for standard appearance or Dark Reflections for a stylized dark-toned look with better performance. |
| Workflow | Smoothness Only or Metallic and Smoothness (see PBR Workflows above). |
| Show In Scene View | Renders reflections in the Scene view window for easier editing. |
| Use Custom Bounds | Restricts reflection rendering to a defined volume. |
Quality Settings
| Setting | Description |
|---|---|
| Sample Count | Number of raymarching steps per pixel (4–256). Higher = better quality, more GPU cost. |
| Max Ray Length | Maximum reflection distance in meters. |
| Thickness | Assumed geometry thickness for hit detection. Increase if reflections disappear behind thin objects. |
| Binary Search Iterations | Refinement steps after initial hit (6–8 is usually sufficient). |
| Compute Back Faces | Runs a depth pre-pass to calculate true surface thickness. Improves accuracy for thin/complex meshes. |
| Max Thickness | Geometry thickness assumed before binary search. |
| Thickness Fine | Post-binary-search thickness threshold. Discards hits beyond this distance. Keep as low as possible. |
| Jitter | Random offset on ray start positions to reduce banding artifacts. |
| Animated Jitter | Changes jitter per pixel every frame to redistribute noise. |
| Temporal Filter | Reduces flickering by blending with previous frames. |
| Response Speed | How fast the temporal filter discards history. Higher = more responsive to changes. |
| Downsampling | Resolution multiplier for final blurred reflections (1 = full resolution). |
| Depth Bias | Bias for depth checking. Increase if reflections disappear at distance. |
Reflection Intensity
| Setting | Description |
|---|---|
| Intensity | Global multiplier for all reflections. |
| Min Intensity | Forces a minimum reflection level on all surfaces. |
| Max Intensity | Caps maximum reflection brightness. |
| Smoothness Threshold | Minimum smoothness required to receive reflections. |
| Fresnel | Reduces reflection intensity based on view angle. 1.0 = physically accurate. |
| Decay | Reduces intensity based on distance to the reflected point. |
| HDR Clamp | Clamps HDR reflection values to prevent overly bright spots (0.01–10). Default: 3. |
| Metal Boost | Enhances appearance of metallic surfaces in Deferred mode. |
| Specular Control | Reduces specular intensity in reflections to minimize flickering from certain materials. |
| Skybox Intensity | Intensity of sky/background reflections on surfaces. |
| Start Distance | Attenuates reflections near the camera (in meters). |
| Far Fade Start / Range | Attenuates reflections far from the camera (distance + fade range in meters). |
| Vignette Size | Controls reflection fade-out around screen borders. |
| Vignette Power | Controls the attenuation gradient at screen edges. |
Reflection Sharpness
| Setting | Description |
|---|---|
| Fuzzyness | Distance-based blur multiplier. Distant reflections appear blurrier than contact reflections. |
| Contact Hardening | Increases sharpness of close-range (contact) reflections. |
| Minimum Blur | Minimum blur applied to all reflections. |
| Blur Downsampling | Resolution of blur buffers. Increase to improve performance slightly. |
| Blur Strength | Controls blur spread along X and Y axes. |
Advanced Options
| Setting | Description |
|---|---|
| Output Mode | Debug visualization of internal buffers (reflections only, depth, normals, etc.). |
| Low Precision | Uses RGBA32 instead of ARGBHalf for internal buffers. Faster on some devices, reduces accuracy. |
| Stop NaN | Clamps pixel values to valid range. Enable if you see black patches or rendering artifacts. |
| Stencil Check | Masks reflections based on stencil buffer contents. |
| Transparency Support | Runs a depth pre-pass on transparent objects so they cast reflections. Filter by layer or add a ShinyTransparentSupport script. |
| Use Reflections Scripts | Enables per-object Reflections scripts in Deferred mode (Mixed Mode). |
| Layer Mask | Which Reflections scripts are used when Mixed Mode is active. |
Was this page helpful?
Suggest an improvement
Help us improve this documentation page.