using UnityEngine; using UnityEditor; [CustomEditor(typeof(MeshRenderer))] public class MeshRendererEditor : Editor { MeshRenderer _meshRenderer; public override void OnInspectorGUI() { base.OnInspectorGUI(); _meshRenderer = target as MeshRenderer; string[] layerNames = new string[SortingLayer.layers.Length]; for (int i = 0; i < SortingLayer.layers.Length; i++) layerNames[i] = SortingLayer.layers[i].name; if (_meshRenderer) { int layerValue = SortingLayer.GetLayerValueFromID(_meshRenderer.sortingLayerID); layerValue = EditorGUILayout.Popup("Sorting Layer", layerValue, layerNames); SortingLayer layer = SortingLayer.layers[layerValue]; _meshRenderer.sortingLayerName = layer.name; _meshRenderer.sortingLayerID = layer.id; } if (_meshRenderer) _meshRenderer.sortingOrder = EditorGUILayout.IntField("Order in Layer", _meshRenderer.sortingOrder); } }