Multiple Materials on Multiple Objects -runtime-

Hello guys, i’ve searched through every question about changing materials, but i couldn’t find my specific answer, so here i am, hope you can help me somehow :slight_smile:

I have a group of Objects in my scene that need to change material by launching a script with an eventfunction in ngui.
My script-question is, if 20 objects in the same scene share the same material, is it possible to switch from material 1 to material 2,and all the 20 objects switch material from 1 to 2 in runtime, without using render.material alternatematerial on every object?

Thanks in advance for you reply, please, keep it simple, really willing to learn, but it’s difficult… and eventually sorry for bad english :slight_smile:

I’m still looking for someone who has simpler and less resources consuming idea, but in the meanwhile, if someone has this question too, this can be one method, a bit “rural” but works :slight_smile:

Just create a similar script, one for every material you wanna change your multiple objects to:(to be called with a gui or ngui button as event onclick\onselect or add a trigger function if it’s what you need)

var Material2 : Material;
var Object1 : GameObject;
var Object2 : GameObject;
var Object3 : GameObject;

function Start () {


function Update () {
Object1.renderer.material = Material2;
Object2.renderer.material = Material2;
Object3.renderer.material = Material2;