【Unity】エディット時にも呼ばれるスクリプトの方法
2020年2月4日
[ExecuteAlways] アトリビュートをつける
参考サイト様
リファレンス
Unity Documentation ExecuteAlways
このようなスクリプトをオブジェクトにアタッチしてテストしてみた。
using System;
using UnityEngine;
namespace test {
[ExecuteAlways]
public class TestBehaviour : MonoBehaviour
{
private void Awake() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void LateUpdate() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnDestroy() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnDisable() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnDrawGizmos() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnEnable() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnGUI() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnPostRender() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnPreCull() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnPreRender() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnTransformChildrenChanged() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void OnValidate() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void Reset() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void Start() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
private void Update() => UnityEngine.Debug.Log( $"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
} // class TestBehaviour
} // namespace test
シーンを読み込んだときに呼ばれる順番
OnValidate
Awake
OnEnable
Start
Update
LateUpdate
OnDrawGizmos
OnGUI
OnGUI
OnDrawGizmos
OnDrawGizmos
OnDrawGizmos
OnDrawGizmos
OnDrawGizmos
Update
LateUpdate
OnDrawGizmos
OnGUI
OnGUI
OnDrawGizmos
OnDrawGizmos
オブジェクトを削除したときに呼ばれる順番
OnDisable
OnDestroy
オブジェクトにアタッチしたときに呼ばれる順番
Awake
OnEnable
Reset
OnValidate
Start
Update
LateUpdate
OnDrawGizmos
OnGUI
OnGUI