One of the features I had never seen before Unity was a feature called Light Probes. These are represented by spheres in your scene, which sample the nearby light and project it onto dynamic objects as they move between them. So what are these things and why do we need them?
This is kind of a subtle effect perhaps, but that’s what you get when working with lighting.
First off, you won’t see this by default if you just start dragging primitives around in the Unity editor. By default you’ll be using fully dynamic lighting which does all this magic in real time. That isn’t very performant though, so if you’re going to make a visually complex game, you’ll probably want to change our light mode.
Realtime lighting is what it sounds like, Baked lighting is fully pre-baked with no changes, and mixed gives us the effects of Realtime lighting only on our dynamic objects. Once we select Mixed then, we also have to go around to all the objects in our scene and mark them as Static if they’re not going to move.
Once all this is set up, light probes come in. Basically they need to go anywhere you want to sample the light, so that it can be applied to nearby dynamic objects based on their proximity. To place them just create a light probe cluster in your scene and go to Edit in the Inspector. From there you can drag the spheres around and duplicate them, creating a mesh of connections as large as you need.
Once you have your light probes in place, and once you’ve baked your lighting, you will be able to see which light probes your dynamic objects are sampling from as you drag them around your scene.
And that is really all there is to it. Nice real time lighting effects for dynamic objects, without the performance cost of rendering the lighting for the entire scene in real time. You can of course also mix baked and realtime lights into your scene along with mixed lighting for your main light source. It’s all up to you on what your game needs and how concerned you are with performance.