To control the behaviour of all the lights in a scene that have a Light Mode of Mixed, set the Lighting Mode in the Lighting Settings Asset.
There are four options for Lighting Mode, in order of visual fidelity:
For information about which render pipeline supports which Lighting Mode, refer to Render pipeline feature comparison reference.
The following table shows how Unity calculates lighting from Mixed lights for each Lighting Mode.
| Lighting from Mixed lights | Baked Indirect Lighting Mode | Shadowmask Lighting Mode | Distance Shadowmask Lighting Mode | Subtractive Lighting Mode |
|---|---|---|---|---|
| Direct lighting | Real-time | Real-time | Real-time | Real-time for dynamic GameObjects, baked for static GameObjects. |
| Indirect lighting | Baked | Baked | Baked | Baked |
| Specular highlights | Yes | Yes | Yes | Dynamic GameObjects only |
| Shadows from dynamic GameObjects, up to Shadow Distance | Real-time | Real-time | Real-time | Real-time, from the single highest-intensity Directional Light only |
| Shadows from static GameObjects, up to Shadow Distance | Real-time | Baked, from a maximum of 4 lights per GameObject | Real-time | Baked, from a maximum of 4 lights per GameObject |
| Shadows from static GameObjects, beyond Shadow Distance | No shadows | Baked, from a maximum of 4 lights per GameObject | Baked, from a maximum of 4 lights per GameObject | No shadows |
Unity stores baked indirect lighting in the following places:
Unity stores shadows in the following places:
In Subtractive mode, real-time and baked shadows might not blend correctly, because lightmaps don’t contain enough data to calculate blending accurately. To improve blending, adjust the Realtime Shadow Color setting in the Lighting window.
If you select Shadowmask mode or Distance Shadowmask mode, Unity creates shadow mask textures to store baked shadows for static GameObjects. Each shadow mask texture stores occlusion information about baked lights, and has the following characteristics:
If more than four lights overlap each other at any point in space, Unity bakes the remaining lights. If you bake again, the same lights stay baked unless you change the overlapping lights. To check which lights overlap, use the Light Overlap Debug Draw Mode for lighting.