【Unity】エディット時にも呼ばれるスクリプトの方法

[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

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です