public void SetColor (string name, Color value);
public void SetColor (int nameID, Color value);


nameID Nombre del ID de la propiedad, utilice Shader.PropertyToID para obtenerla.
name Nombre de la propiedad, e.g. "_Color".
value Valor de color a establecer.


Sets a named color value.

Muchos shaders utilizan más que un color. Utilice SetColor para cambiar el color (identificado por la propiedad shader name, o propiedad única name ID).

When setting color values on materials using the Standard Shader, you should be aware that you may need to use EnableKeyword to enable features of the shader that were not previously in use. For more detail, read Accessing Materials via Script.

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.
"_EmissionColor" is the emissive color of a material.

See Also: color, GetColor, Shader.PropertyToID, Properties in Shader Programs.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { Renderer rend = GetComponent<Renderer>(); rend.material.shader = Shader.Find("Specular"); rend.material.SetColor("_SpecColor",; } }