What is a good workflow for texturing environments/architecture for use in Unity?

We’re going for a hand-painted style (which is turning out nicely), but I’m struggling with the ‘texface’ and ‘materials’ distinction that Blender makes for some reason…

I’m just throwing this out here to see if maybe I’m missing something completely obvious that could improve my workflow.

My current workflow is:

  1. Model something (obviously)
  2. UV-Unwrap the different parts, such as walls, wood beams, decorations, etc.
  3. See if our texture library has the textures I need and if not send a request to our texture artist
  4. In the UV-Editor select the texture I need (with ‘open image’ or from the drop-down menu) and adjust the UV as necessary
  5. Go back to step 2 for the next part of the model and repeat until all parts have textures

This is where I run into problems. If I export the model as it is right now and put it into Unity it can only take one material/texture, so I need to set up materials for it to work properly.

  1. I use the ‘Material Utils’ addon and select ‘TexFace to Material’. I used to do this by hand by selecting UVs from the ‘local uv view’ and creating materials and assigning them, but it was A) a lot of work and B) I found I frequently missed parts.
  2. The addon creates the materials for me, but when I’ve used it on a number of objects I find I end up with materials and textures with double names (.001, .002, etc).

Is there an easier way of going about this? The way UV-texturing and materials currently work strikes me as unwieldy…