Make camera see diffrent textures

Hello all! I am trying to make a thermal vision camera and I have thought of some ways of doing it but the best way would be to put 2 textures on a model, 1 which is the normal skin and the second which is the thermal vision skin.

Here’s where I am stuck, I can’t figure out how to make one camera see one skin and the other camera see the other skin, I have even tried applying one as a bump map but that didn’t work, I also thought layers but I can’t figure out how to apply them to textures and not whole models.

The other way (which I really don’t want to use) would be to clone the model inside of the model and apply them using layers, the reason I don’t want to use this model is because when my game gets enemy heavy such as battle scenes then I will be having double the amount of people running round which will be really processor heavy.

So my question is; is there any way to apply textures so some cameras can see them and others can’t if not is there any other way except cloning the models to do it.

Thank you!

You can set materials during the game, you know.

class ThermalObject extends MonoBehaviour {

  var normalMat : Material;
  var thermalMat: Material;
  
  function Start() {
    renderer.material = normalMat;
  }
  
  function ThermalMode( on : boolean ) {
    if ( on ) renderer.material = thermalMat; else renderer.material = normalMat;
  }
}

You might also be able to use a controller function to alter all your sharedMaterials between thermal state and normal state. The controller function would probably be more efficient if you have a small number of materials (but I’ve never built one of these).