Renderer.material

var material : Material

Description

The material of this object.

Modifying material will change the material for this object only.

If the material is used by any other renderers, this will clone the shared material and start using it from now on. Important note: This function automatically instantiates the materials and makes them unique to this renderer. It is your responsibility to destroy the materials when the game object is being destroyed. Resources.UnloadUnusedAssets also destroys the materials but it is usually only called when loading a new level.

JavaScript
function Awake ()
{
// Set main color to red
renderer.material.color = Color.red;
}

function OnDestroy ()
{
DestroyImmediate(renderer.material);
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
void Awake() {
renderer.material.color = Color.red;
}
void OnDestroy() {
DestroyImmediate(renderer.material);
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def Awake():
renderer.material.color = Color.red

def OnDestroy():
DestroyImmediate(renderer.material)

Another example:
JavaScript
// Change renderer's material each changeInterval
// seconds from the material array defined in the inspector.

var materials : Material[];
var changeInterval = 0.33;

function Update () {
if (materials.Length == 0) // do nothing if no materials
return;

// we want this material index now
var index : int = Time.time / changeInterval;
// take a modulo with materials count so that animation repeats
index = index % materials.Length;
// assign it to the renderer
renderer.sharedMaterial = materials[index];
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public Material[] materials;
public float changeInterval = 0.33F;
void Update() {
if (materials.Length == 0)
return;

int index = Time.time / changeInterval;
index = index % materials.Length;
renderer.sharedMaterial = materials[index];
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public materials as (Material)

public changeInterval as single = 0.33F

def Update():
if materials.Length == 0:
return
index as int = (Time.time / changeInterval)
index = (index % materials.Length)
renderer.sharedMaterial = materials[index]