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.

Shader.Find

static function Find(name: string): Shader;
static Shader Find(string name);
static def Find(name as string) as Shader

Description

Finds a shader with the given name.

Shader.Find can be used to switch to another shader without having to keep a reference to the shader. /name/ is the name you can see in the shader popup of any material. Common names are: "Diffuse", "Bumped Diffuse", "VertexLit", "Transparent/Diffuse" etc.

When building a player, a shader will only be included if it is assigned to a material that is used in any scene or if the shader is placed in a "Resources" folder. See Also: Material class.

	// Switch the shader from code

function Start () { // Switch to the transparent diffuse shader renderer.material.shader = Shader.Find ("Transparent/Diffuse"); }

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Start() {
        renderer.material.shader = Shader.Find("Transparent/Diffuse");
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def Start() as void:
		renderer.material.shader = Shader.Find('Transparent/Diffuse')

Another example:

	// Create a material from code

function Start () { // Create a material with transparent diffuse shader var material = new Material (Shader.Find ("Transparent/Diffuse")); material.color = Color.green; // assign the material to the renderer renderer.material = material; }

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Start() {
        Material material = new Material(Shader.Find("Transparent/Diffuse"));
        material.color = Color.green;
        renderer.material = material;
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def Start() as void:
		material as Material = Material(Shader.Find('Transparent/Diffuse'))
		material.color = Color.green
		renderer.material = material