Не думаю, что для этого есть что-то встроенное, но вы можете использовать GameObject.layer , сохранить его и сравнить.
Используя [ExecuteInEditMode]
вы можете заставить компонент выполнять некоторые методы также в редакторе:
[ExecuteInEditMode]
public class LayerChecker : MonoBehaviour
{
private int lastLayer;
// could e.g be a UnityEvent (like onClick of buttons)
public UnityEvent OnLayerChanged;
private void Update()
{
// if layer didn't change do nothing
if(lastLayer == gameObject.layer) return;
// changed! -> what ever you want to happen
// e.g. invoke the event or call another method
OnLayerChanged.Invoke();
// store the new layer
lastLayer = gameObject.layer;
}
}
, если вы хотите ограничить, где это происходит, вы можете также проверить Application.isEditor и/ или Application.isPlaying