Post Processing Effects: Screen Space Reflections
Tutorial
·
Beginner
·
+0XP
·
15 mins
·
(24)
Unity Technologies

Screen Space Reflections are an easy way to depict wet, shiny, or mirrored surfaces. They’re commonly seen in science fiction art in the form of mirrored floors and rain puddles in wet asphalt. Screen Space Reflections are computationally expensive, so they’re a good fit for projects targeting desktop and console, but not mobile. They require the deferred rendering path, as they use the Normals G-Buffer. As a post-process effect, they’re automatically applied to smooth and metallic surfaces, controlled via Material properties.
Languages available:
1. Post Processing Effects: Screen Space Reflections
This tutorial has been verified using Unity 2019 LTS
Screen Space Reflections are an easy way to depict wet, shiny, or mirrored surfaces. They’re commonly seen in science fiction art in the form of mirrored floors and rain puddles in wet asphalt. Screen Space Reflections are computationally expensive, so they’re a good fit for projects targeting desktop and console, but not mobile. They require the deferred rendering path, as they use the Normals G-Buffer. As a post-process effect, they’re automatically applied to smooth and metallic surfaces, controlled via Material properties.

Alt text: A Standard Material using a Metallic map, with Smoothness set to 1
2. Enabling Screen Space Reflections
Screen Space Reflections are added as an Effect Override to a Post-process Volume (Figure 02).

Alt text: Adding the Screen Space Reflections Override to a Post-process Volume.
3. Screen Space Reflections Properties - Simple View
Using a stock Preset, three properties are available.

Alt text: Screen Space Reflections settings in the Post-process Layer.
Maximum March Distance determines how far away from the Camera calculations for reflections will continue.
Distance Fade fades reflections out as they approach the Camera’s near clipping plane.
Vignette fades reflections out as they approach the edge of the screen.
4. Screen Space Reflections Properties - Advanced View
Creating a custom preset exposes three additional properties.

Alt text: Creating a custom preset for Screen Space Reflections
Maximum Iteration Count controls the number of steps in sampling, and resulting number of reflections. In effect, this controls how far into the reflective surface your reflections continue. Short objects near the floor need fewer iterations to be fully reflected. Setting this too high results in wasted computation, but setting it too low causes reflections to cut off before your entire object is reflected.
Thickness controls the length of a step in the ray marching pass. Setting this to a lower value allows for finer detail in reflections, but more iterations are required to cover the same distance.
Resolution optionally modifies the size of the Screen Space Reflections buffer by downsampling for lower quality but faster performance, ideal for projects with more intense action or faster pace, or supersampling for higher quality but slower performance for projects where visual quality is more important.

Alt text: Our scene without Screen Space Reflections

Alt text: Screen Space Reflections enabled, set to the defaults
5. Next Steps
In this tutorial, you learned how to apply Screen Space Reflections to your project as a Post Process. Screen Space Reflections add visual interest to a scene, and can even work in support of design mechanics. Try using Metallic maps to vary reflectivity across a surface. Switching Metallic maps at runtime, a surface can go from shiny or wet to dull and dry.