public void Apply() { foreach (var obj in selection) { obj.customTexture = tex; var texture = (tex == null) ? ProceduralUtils.GetBasePrefabMainTex(obj) : tex; obj.m_material.mainTexture = texture; if (obj.m_textParameters != null) { if (obj.m_textParameters.Count() > 0) { Texture original = ProceduralUtils.GetOriginalTexture(obj); var originalTex = new Texture2D(original.width, original.height, TextureFormat.RGBA32, false); originalTex.SetPixels(((Texture2D)original).GetPixels()); var newtex = (Texture2D)GameObject.Instantiate(originalTex); obj.m_material.mainTexture = obj.m_textParameters.ApplyParameters(originalTex) as Texture; } } } }