Shadow baking "strategies" in Cycles


Right now I am working on a low poly model of a house for a game and wish to bake shadowmaps to make it look less flat/more interesting and compensate for the shortcomings of real-time shading.

I understand the whole procedure. I unwrap the mesh, create an image, make a node, select it in node editor, select bake etc. etc.

The only problem I have is how to optimally asign these maps to my objects. For example I have modeled and textured a model of window and then duplicated it to get bunch of windows and placed them in the main “frame” of a building. Which means I have, let’s say, 10 windows and each one of them is linked to the same material. Which means I can’t bake to the uv/texture set I used so far because shadows will be different for each window.

In this case I can see two solutions. I can unwrap them again and place all of the windows on same texture by creating additional uv map and then bake, which means I have more vertex data for each vertex (which is bad for a game engine because it effectively makes the vertex count higher - I don’t even know if any engine supports multiple uvs out of the box) and smaller shadpw resolution or bake shadows for each window separately to different texture but that would mean creating separate material for each window and having to send 10 more textures to vram, which is suboptimal too.

Any suggestions?

Thanks in advance for your help.