Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Material.SetColor

SetColor(propertyName: string, color: Color): void;
void SetColor(string propertyName, Color color);
def SetColor(propertyName as string, color as Color) as void
SetColor(nameID: int, color: Color): void;
void SetColor(int nameID, Color color);
def SetColor(nameID as int, color as Color) as void

Description

Set a named color value.

Many shaders use more than one color. Use SetColor to change the propertyName color.

Common color names used by Unity's builtin shaders:
"_Color" is the main color of a material. This can also be accessed via color property.
"_SpecColor" is the specular color of a material (used in specular/vertexlit shaders).
"_Emission" is the emissive color of a material (used in vertexlit shaders).
"_ReflectColor" is the reflection color of the material (used in reflective shaders).

See Also: color property, GetColor, Shader.PropertyToID

	function Start () {
		// Set specular shader
		renderer.material.shader = Shader.Find ("Specular");
		// Set red specular highlights
		renderer.material.SetColor ("_SpecColor", Color.red);
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Start() {
        renderer.material.shader = Shader.Find("Specular");
        renderer.material.SetColor("_SpecColor", Color.red);
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def Start() as void:
		renderer.material.shader = Shader.Find('Specular')
		renderer.material.SetColor('_SpecColor', Color.red)