Unity 5 includes Enlighten, a real-time global illumination solution from Geomerics. Geomerics is an ARM company.
Unity 5 uses Enlighten for simulating real-time indirect lighting. Indirect lighting is light that bounces off surfaces back into a scene.
The core of Enlighten is a real-time radiosity engine. The engine generates a light map and light probes that contain only the indirect lighting, which is projected back into a scene. Light maps and light probes are updated in real time in the Unity 5 editor and in-game on many of the platforms that are supported by Unity. These include Windows, OS X, iOS, and Android. In addition, Unity uses Enlighten to produce baked light maps.
When Enlighten calculates the indirect light in a scene, the results are stored in a light map or in light probes and they are applied in the shader code. The standard Unity materials make full use of Enlighten, including custom material shaders. The shaders and the Unity rendering engine ensure that the direct light is properly rendered, so that the final game looks like the final composition.
The following figure shows an example of a scene with only direct lighting, just Enlighten indirect lighting, and the effect of both direct and indirect lighting combined.
Figure 5-1 Arches
The scene in the left image is illuminated by direct lighting, with no bounce light and no added ambient light term. Any surfaces in shadow are black.
The middle image shows the same scene and lighting setup with only the Enlighten indirect light contribution and no albedo textures applied. This is the lighting output that Enlighten generates in real time.
The right image shows the final composition, which includes the direct lighting and Enlighten indirect lighting.