Screen Space Reflections In Unity

Calum Slee
3 min readJun 18, 2022

and how they are unique!

Similarly to Light Probes, we can bake and emit reflection data. The most cost-effective way of doing this is to use Reflection Probes. Creating one places a sphere in the scene that acts as a central capture point, we can then edit a cube to enact the edges of the area the probe captures.

To ensure we make use of this box, and prevent reflecting infinite space, we need to check the Use Influence Volume box.

Straight away, we can see a huge amount of light being reflected around our scene. Not only does it add realism, but also illuminance!

Base Scene vs Reflection Probe

Personally, I find it to be a bit too much. Luckily, we can change the Weight variable in the Inspector, or for more reflection, the Multiplier variable.

Much more subtle!

If we look closely though, we may notice that the reflections in the scene aren’t very accurate. This is due to the information being sourced at the one central probe.

For extra realism, we can make use of a Post Processing Override called Screen Space Reflections. These reflections work by calculating the depth and color of objects within the camera’s view by using ray-casts. If the ray intersects with an object, it takes the previous frame’s color to reflect onto said object.

This is a much more graphic-intensive task, but the accuracy levels produce far better results. Although the main drawback is that objects not within view, will not have their reflections captured, therefore we should combine this method with reflection probes for the best outcome.

Reflection Probe + Probe and SSR

Notice we now have visible reflections relative to the emissive objects in our scene, such as our lights.

Just like with our Light Probes, we can use an Indirect Lighting Controller to alter the overall specularity and thus the reflections across the different probes in our scene.

With a global override though, we can still often find certain objects to be too reflective such as the desk below.

If we access the object’s material, we can manipulate the Smoothness Remap values to get a better result.

Between altering single materials, reflection probe’s multiplier and weight, and using post processing overrides, we can hone in accurate reflections within our scene.

--

--