Best practice? One models+same material+multi-textures

I have one model with one material but many textures (interchangeable for the material). To date I have been creating new materials one for each texture, then reimporting the same model over and over and attaching each material…

somehow this feels wrong and wasteful - better way?

I am not sure I understand the question, but it really shouldnt be necessary to reimport the model.

I am not sure this is what you want, but try select the material and press ctrl+d for duplicate and then rename the material.

No I don’t think you understood me. I am not trying to copy the model like that.

I have a model with 1 material. I then assign a texture to that material. That material now is linked to that texture. If I then make a copy of the model and change the texture on ITS material, the first models texture will also change as they are using the same material.

But I have many textures for 1 model (say a women and each texture changes her hair color or dress color), and I want prefabs of all of these.

What is the best way to accomplish this?

Try this:

Create one prefab.
Duplicate it.
Change the material on the new prefab.

You’ll end up with two prefabs of the same model with different materials.

Edit: Er, yeah, you do need to create a new material per texture. You can add a script that takes a texture as a parameter and creates cached material on the fly, but material definitions are just a means to bind shaders with textures and are very lightweight so it doesn’t save a lot of resources as much as it does ease your workflow.