These are the before and after screenshots of my optimisation. I switched from computers to test my build on after making my technical plan, so I had to re-profile all the first version of the environment with this new setup.
Important info:
Unity version: 2020.3.30f1
Render Pipeline: URP
Computer Specs:
CPU: AMD Athlon(tm) X4 845 Quad Core
Motherboard: ASRock FM2A68M-DG3+
Screen: 1920x1080, 60 hz
Memory: 8 GB
Graphics Card: GeForce GTX 1650 (MSI AERO ITX OC)
Operating system: Windows 10
At first I thought that I had shot myself in the foot by using an environment that wasn't that large. This was a problem because all of the small optimisation changes I made on my laptop didn't have a huge impact since the FPS was around 270 already.
After switching to a lesser computer I realized that using a smaller sized environment was quite a good choice since I got to try out a lot of techniques for optimisation. As seen on the screenshots on the slideshow above, the FPS increased by about 190 (from less than 60 to about 250).
Light baking
The biggest impact on my FPS was baking my lighting (after turning off VSync of course). This made my FPS go from less than 60 to about 200. Since this was the first thing I did after my technical plan, I knew that taking the time to incorporate a lightmap switcher would be worthwhile.
Sadly, I spent a lot more time on lighting than needed if it weren't for a bug in Unity which caused my builds to not have realtime lighting. I tried resetting a lot of settings before I eventually went to my last resort of making a Unity package and exporting it to another scene, which took a lot of time.
Memory Usage
The memory usage only increased from about 0.7GB to about 1.3GB. This is a worthwhile tradeoff, since most of the memory is taken up by the lightmap. I could have also had a lot smaller textures if I had taken the time to unwrap my models more carefully, but I knew that this wouldn't have much of an impact on the FPS as the optimisation methods. For now I chose to unwrap most of the statues automatically, which wasn't a big problem since they didn't have any textures in the original environment.
Draw calls & Tris
One thing I didn't really look at while optimising, is draw calls (Batches) there are and the amount of Tris on screen. The amount of Tris between these two versions went frome 3.4M to about 1.2M, and the amount of batches for this particular screenshot went frome 174 to 233. The increase in draw calls is something I should have looked at earlier, but I completely forgot to write it down in my technical plan. This is definitely something I will keep an eye on in future projects.
^Before optimising
^After optimising
This is a short video of the end result. In this video I walk around the environment and switch between light phases.