How can I achieve common sized texture mapping on different objects?

Hello,

I am trying to apply a roof tile texture to the roofs of different houses with differently sized roofs. I am unwrapping the roofs so as to be able to rotate each element separately so that the roof tiles are always aligned in the right way.

How can I use some common base of reference to ensure the texture size is the same on all roofs?

My current attempt is this:

  1. unwrap one roof

  2. open the UV Editor, setting a fixed size for the UV-space (e.g. 1000x1000)

  3. rotate the islands in the UV Editor and scale them so the texture is mapped as I want it

  4. copy the mesh outlines to act as reference for other roofs

  5. apply and close UV Editor

  6. unwrap the next roof

  7. open the UV Editor, setting the UV-space the same size as before (1000x1000)

  8. rotate and scale the islands of the second roof in reference to the mesh outlines from the first roof

  9. apply and save

Result: The texture scaling is completely different between roof 1 and roof 2.

The problem is that the scale of the texture shown/applied inside the UV-Editor is not persistent. Every time I open the UV-Editor it automatically adjusts the texture scale and tries to fit all islands inside the UV space, even if I have scaled them to extend that 1000x1000 space before.

How can I ensure the texture scaling and UV-space scaling do not change every time I re-open the UV-Editor?
Or should I go about setting an equally sized texture mapping on a number of unwrapped objects in a completely different way?
Should I not use ‘unwrap’ at all?