Settings

intermediate concepts

Shiny SSR 2 · Core Concepts

Reflections & 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

FeatureForwardDeferred
SetupRequires Reflections script on target objectsAutomatic — reads from g-buffers
Per-object controlFull control via Reflections scriptGlobal settings only (unless Mixed Mode is enabled)
Transparent objectsSupported via Reflections scriptRequires Mixed Mode + Reflections script
PerformanceCan be faster (processes only tagged objects)Processes entire screen
PBR accuracyDepends on material properties gathered by scriptPer-pixel smoothness/metallic from g-buffers

PBR Workflows (URP)

WorkflowBehavior
Smoothness OnlyA single value controls both reflection intensity and surface roughness. Simpler, good for stylized projects.
Metallic and SmoothnessFollows 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).

PropertyDescription
IgnoreExcludes this object from reflections. Useful when the script is on a parent covering many children.
ScopeApply reflections to this object only, include children, or filter by layer/name pattern/sub-meshes.
Use Material SmoothnessReads the _Smoothness property from the object's PBR material.
Smoothness MapOptional texture whose alpha channel provides per-pixel smoothness (use with Smoothness Source = Custom).
Per Sub Mesh SmoothnessAssigns different smoothness values to individual sub-meshes.
SmoothnessManual smoothness value used when Use Material Smoothness is off or the material lacks the property.
Use Material Normal MapUses the material's normal map for reflection perturbation.
Material Property NamesShader property names for smoothness map, normal map, and smoothness value. Customize for non-standard shaders.
Skybox MultiplierPer-object multiplier applied to skybox reflections (01). Lets you dim or boost sky contribution on this object without changing global settings.
Override Global SettingsEnables per-object raytracing overrides (sample count, decay, jitter, etc.).

Exclude Reflections (Per-Object)

Add the ExcludeReflections component to any GameObject whose visible surface should not receive reflections. When the component is enabled it registers itself with Shiny SSRR and the renderers of the GameObject (and its children) are masked out of the reflection composite, so no reflections are blended on top of those pixels. Works in both Forward and Deferred and on both URP and Built-in pipelines.

PropertyDescription
(no properties)The component captures all Renderer components in itself and its children at OnEnable time. Call Refresh() from script if you spawn or remove child renderers at runtime.
What this does NOT do: ExcludeReflections only prevents reflections from being drawn over the tagged object. It does not stop the object from appearing in reflections cast by other surfaces (the object is still part of the screen image that SSR samples).

Preventing an object from appearing in other reflections

Because SSR samples the on-screen image, anything visible can be reflected. To keep an object (FPS weapon, in-world UI, decorative gizmo) out of every reflection, render it after Shiny SSRR has finished. Pick one of:

  • Change the Shiny SSR Renderer Feature event to BeforeRenderingTransparents (or AfterRenderingOpaques) and set the object's material/shader to the Transparent render queue, so it draws after the reflection composite.
  • Use a Render Objects feature targeting the object's layer with an event set to AfterRenderingTransparents, while excluding that layer from the camera's main culling mask used by Shiny SSRR.
  • Camera stacking: render the object with an overlay camera whose Renderer asset has no Shiny SSR feature attached.
Typical case — first person weapon: put the weapon on its own layer, then either move the Shiny event to Before Transparents and push the weapon's shader to a transparent queue, or render the weapon with a Render Objects feature scheduled after Shiny. The ExcludeReflections component is not the right tool for this case — it would only prevent the weapon itself from receiving reflections.

General Settings

SettingDescription
Reflections StyleShiny Reflections for standard appearance or Dark Reflections for a stylized dark-toned look with better performance.
WorkflowSmoothness Only or Metallic and Smoothness (see PBR Workflows above).
Show In Scene ViewRenders reflections in the Scene view window for easier editing.
Use Custom BoundsRestricts reflection rendering to a defined volume.

Quality Settings

SettingDescription
Sample CountNumber of raymarching steps per pixel (4–256). Higher = better quality, more GPU cost.
Max Ray LengthMaximum reflection distance in meters.
ThicknessAssumed geometry thickness for hit detection. Increase if reflections disappear behind thin objects.
Binary Search IterationsRefinement steps after initial hit (6–8 is usually sufficient).
Compute Back FacesRuns a depth pre-pass to calculate true surface thickness. Improves accuracy for thin/complex meshes.
Max ThicknessGeometry thickness assumed before binary search.
Thickness FinePost-binary-search thickness threshold. Discards hits beyond this distance. Keep as low as possible.
JitterRandom offset on ray start positions to reduce banding artifacts.
Animated JitterChanges jitter per pixel every frame to redistribute noise.
Temporal FilterReduces flickering by blending with previous frames.
Response SpeedHow fast the temporal filter discards history. Higher = more responsive to changes.
DownsamplingResolution multiplier for final blurred reflections (1 = full resolution).
Depth BiasBias for depth checking. Increase if reflections disappear at distance.

Reflection Intensity

SettingDescription
IntensityGlobal multiplier for all reflections.
Min IntensityForces a minimum reflection level on all surfaces.
Max IntensityCaps maximum reflection brightness.
Smoothness ThresholdMinimum smoothness required to receive reflections.
FresnelReduces reflection intensity based on view angle. 1.0 = physically accurate.
DecayReduces intensity based on distance to the reflected point.
HDR ClampClamps HDR reflection values to prevent overly bright spots (0.01–10). Default: 3.
Metal BoostEnhances appearance of metallic surfaces in Deferred mode.
Specular ControlReduces specular intensity in reflections to minimize flickering from certain materials.
Skybox IntensityMaster intensity of sky/background reflections on surfaces. 0 disables skybox reflections regardless of mode.
Start DistanceAttenuates reflections near the camera (in meters).
Far Fade Start / RangeAttenuates reflections far from the camera (distance + fade range in meters).
Vignette ModeFalloff shape for screen-edge attenuation. Edge (box) uses the maximum distance to the screen edges (more coverage). Radial uses distance from the screen center.
Vignette SizeControls reflection fade-out around screen borders.
Vignette PowerControls the attenuation gradient at screen edges.

Skybox Reflections

Skybox reflections fill in pixels where screen-space rays miss (sky, off-screen background). They work alongside the per-pixel SSR result and are gated by Skybox Intensity.

SettingDescription
Skybox Reflection ModeDisabled turns off skybox fallback. Visible Sky Only samples the rendered skybox only when sky is visible at the ray endpoint (cheapest, no off-screen sky). Automatic Cubemap bakes the scene skybox into a cubemap so off-screen sky is always available. User Defined Cubemap uses a cubemap you provide.
Skybox Custom CubemapCubemap asset used when mode is User Defined Cubemap.
Skybox HDRBakes the cubemap in HDR color format. Enable for HDR skies and tone-mapped pipelines.
Skybox Layer MaskCulling mask used while baking the cubemap. 0 captures only the default skybox set in Render Settings; otherwise includes objects on the selected layers.
Skybox ResolutionResolution of the baked cubemap. Lower values reduce memory and bake cost.
Tip: Use Visible Sky Only for outdoor scenes where the sky is on screen most of the time. Use a cubemap mode for interiors with windows or for stylized scenes where reflections should always show sky.

Reflection Sharpness

SettingDescription
FuzzynessDistance-based blur multiplier. Distant reflections appear blurrier than contact reflections.
Contact HardeningIncreases sharpness of close-range (contact) reflections.
Minimum BlurMinimum blur applied to all reflections.
Blur DownsamplingResolution of blur buffers. Increase to improve performance slightly.
Blur StrengthControls blur spread along X and Y axes.

Advanced Options

SettingDescription
Output ModeDebug visualization of internal buffers (reflections only, depth, normals, etc.).
Low PrecisionUses RGBA32 instead of ARGBHalf for internal buffers. Faster on some devices, reduces accuracy.
Stop NaNClamps pixel values to valid range. Enable if you see black patches or rendering artifacts.
Stencil CheckMasks reflections based on stencil buffer contents.
Transparent SmoothnessSmoothness used for reflections at transparent pixels driven by the Screen Space Normals -> Transparents toggle on the Render Feature. Higher values give sharper, more mirror-like reflections; lower values blur them. Other transparency options (Depth Prepass, Screen Space Normals) live on the Shiny SSR Renderer Feature inspector since 32.3.
Use Reflections ScriptsEnables per-object Reflections scripts in Deferred mode (Mixed Mode).
Layer MaskWhich Reflections scripts are used when Mixed Mode is active.
Was this page helpful?