Version: 2018.1
public static Shader Find (string 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, for example "Standard", "Unlit/Texture", "Legacy Shaders/Diffuse" etc.

Note that a shader might be not included into the player build if nothing references it! In that case, Shader.Find will work only in the editor, and will result in pink "missing shader" materials in the player build. Because of that, it is advisable to use shader references instead of finding them by name. To make sure a shader is included into the game build, do either of: 1) シーンで使用されるマテリアルの一部からそれを参照します。2) ProjectSettings/Graphics で "Always Included Shaders" リストの下にそれを追加するか 3) "Resources" フォルダーにシェーダーやそれ (マテリアルなど) を参照する何かを置きます。

関連項目: Material クラス

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { Material material = new Material(Shader.Find("Transparent/Diffuse")); material.color =; GetComponent<Renderer>().material = material; } }