In addition to your art objects, the next step in optimization might be how your scene itself is organized. If we tell Unity that specific objects will not move in the scene, it can precompute a lot of the rendering in advance rather than at runtime. We do this by defining these game objects as static, and then baking them into specific contexts.
We used static objects in Chapter 4, Gazed-Based Control, when we set up a Navmesh for Ethan to run through. His walkable nav area was defined by the flat ground plane minus any large static objects that might get in his way, baked into a navmesh.
Statics can also be used to help precompute the scene rendering. Baked lightmaps and shadowmaps precompute lighting and shadows. Baked occlusions divide the scene into static volumes that can be readily culled when out of view, saving processing by...