Best approach for one model with multiple textures

Here is the scenario: I have a model of a section of wall. A very simple model that was built with diffuse and normal maps.

I want to create different diffuse and normal maps for the same model. This way, I can break up the pattern when using the same model repeatedly to make a longer wall section.

My question is, what is the best way to accomplish this? I don’t want to swap textures on the fly with code or anything like that. I know that I could re-import the model for each set of textures but I’d like to only have 1 model but with different options.

Is a prefab the best and simplest way to accomplish this?

I would think a material would be the simplest approach.

It would require a minimum of scripting.

using UnityEngine;
using System.Collections;

public class MaterialSwitcher : MonoBehaviour
{
	public Material[] materials;
	
	private int index;
	
	void Awake()
	{
		StartCoroutine(SwitchMaterials());
	}
	
	IEnumerator SwitchMaterials()
	{
		YieldInstruction y = new WaitForSeconds(1);
		
		yield return y;
		
		
		while (true)
		{
			SwitchMaterial(++index % materials.Length);
			yield return y;
		}
	}
	
	void SwitchMaterial(int index)
	{
		renderer.material = materials[index];
	}
}