Unity Getting Real-Time Global Illumination

Real-time Global Illumination, a more accurate lighting model that captures secondary bounces of surfaces instead of just the direct effect of lights in the scene, is available in Unreal Engine in the form of Lumen and in the Godot game engine in the form of SDFGI. Unity however currently does not have a real-time GI solution – but that is changing with the upcoming release of Unity 6.7.

Currently available in alpha form, Unity 6.7 adds Surface Cache Global Illumination, or SCGI, there new real-time global illumination system. Unity describe SCGI as:

Surface Cache GI is a new URP feature that provides real-time indirect diffuse lighting and runs across a broad range of devices. It’s designed to make authoring faster, eliminate precomputation, and support scenarios involving dynamic light and geometry such as runtime construction/destruction, procedurally generated content, time of day, and much more. Forget complex workflows and long bake times – Surface Cache GI aims for lighting that “just works.”

Here is the Unity description of how it works:

Instead of baking lightmaps or probes, Surface Cache computes diffuse GI in realtime. It works by discretizing the 5D space of all positions (3D) and directions (2D) into a finite number of “patches”, mapping surface position and normal direction pairs within its volume into a unique patch index. The size of these patches changes with camera distance so that we have more patches nearer the camera and fewer far away from the camera.

During rendering we identify which patches are relevant for the current frame and ensure they are allocated. For each allocated patch, Surface Cache calculates average incoming hemispherical lighting by shooting rays into the scene. If available, hardware accelerated ray tracing is leveraged. Otherwise, a compute-based software ray tracing backend is used instead.

Finally, we reconstruct per-pixel irradiance by filtering the patch data. This filtering process is done in such a way that we can apply the per-pixel shaded normal to capture fine detail from normal maps.

Key Links

Unity Surface Cache Global Illumination Documentation

Ultimate Unity Environment Bundle

Setting up Unity Surface Cache Global Illumination is a far too complicated process, but thankfully the video below has a tutorial that takes you through the process step by step. Do keep in mind this is currently in alpha and has a number of limitations.

Scroll to Top