After experimenting with a number of different settings and techniques, I was finally able to optimize the scene and get the frame rate back up to around 100.
Here are a few things I did:
- Merged Geometry – Because I was ProBuilder to construct everything in the level, everything is built with pretty much a combination of boxes. This would often result in a building being made up of over 100 gameObjects (walls, steps, window frames, etc). I went through all the geometry and merged all the ones that were close together. I wanted to wait until I was almost finished with the level, because once the geometry is merged, you can’t unmerge it.
- Changed Water Reflection Setting – I had a few pools of water in the scene. As it turns out, their reflection and refraction settings were set to respond to all the object layers in the scene. I’m not really going for a super realistic look with the game, so this was totally unnecessary. I reduced the layers that the water material responded to from 10 to 1, and this resulted in a huge improvement in performance
- Lightmapped the scene – Since the scene is so large now, it takes quite a while to generate the light maps. However, once this is complete, the scene does run a little bit faster (and also looks way better).
Anyway, here are some new screenshots: