using UnityEngine; using UnityEngine.UI; namespace SpriteShadersUltimate { [AddComponentMenu("Sprite Shaders Ultimate/Utility/Material Instancer SSU")] public class MaterialInstancerSSU : InstancerSSU { private void Awake() { var graphic = GetComponent(); if (graphic != null) { graphic.material = Instantiate(graphic.material); runtimeMaterial = graphic.materialForRendering; } var renderer = GetComponent(); if (renderer != null) { var materials = renderer.sharedMaterials; for (var n = 0; n < materials.Length; n++) materials[n] = Instantiate(materials[n]); renderer.materials = renderer.sharedMaterials = materials; runtimeMaterial = materials[0]; } } } }