I am making a game that I worry is not running optimally due to lots of high-res textures. The irony is that most scene assets use the same materials but I have to (do I?) unwrap the entire mesh on a single map, so the textures appear at roughly half their full resolution. I know that I can separate the mesh into different parts but for some objects (like wall panels) there would be many instances of the same object, each consisting of multiple mesh components, and I get creeped out thinking about how that is going to increase the number of objects in my scene hierarchy.
So I am wondering what the best practice is here, and what my options are. Can I have multiple UV maps for a single mesh? If so, how would I guarantee it works correctly with Lightmap baking? Is this really a better solution than separating the meshes?
What would be great (I think?) is if I could create a UV map for each material group that would maximize the area I am using, so as much detail is available as possible. I am using a lot of the same base textures but am exchanging normal and AO maps for different materials. Is this bad practice, having multiple materials with only one or two textures (i.e. normal, roughness, AO) swapped, or is this smart?
It is important that I maximize area because right now my textures are all 2K and I want to bring them all down to 1K.
Here is my scene so far. You can see it looks beautiful but I really want to optimize:
BONUS POINTS: You may notice in this scene that there are "holes" where spotlights should be. There are 16 spotlights but not all of them are shining. They are all instances of the same light. Is this a hardware limitation or do I need to change a setting? My game doesn't run "crunchy", but it does take a moment to process changes before test runs sometimes.