public static Dictionary <string, Type> GatherShaderGraphInstructions() { Dictionary <string, Type> nodes = new Dictionary <string, Type>(); Type[] types = Miscellaneous.GetAllClassesWithAttribute <ShaderGraphMaterial.ShaderGraphInstructionAttribute>().ToArray(); string nodeName; foreach (var t in types) { nodeName = (t.GetCustomAttributes(typeof(ShaderGraphMaterial.ShaderGraphInstructionAttribute), true).First() as ShaderGraphMaterial.ShaderGraphInstructionAttribute).NodeName; nodes.Add(nodeName, t); } return(nodes); }