説明

この関数は Behaviour が無効/非アクティブになったときに呼び出されます

これはオブジェクトを破棄し、任意なクリーンアップのコードを実行したいときにも呼び出されます。 コンパイルが完了した後にスクリプトがリロードされるとき OnDisable が呼び出され、スクリプトがロードされた後に OnEnable が呼び出されます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void OnDisable() { print("script was removed"); } }

他の例:

// Implement OnDisable and OnEnable script functions.
// These functions will be called when the attached GameObject
// is toggled.
// This example also supports the Editor.  The Update function
// will be called, for example, when the position of the
// GameObject is changed.

using UnityEngine;

[ExecuteInEditMode] public class PrintOnOff : MonoBehaviour { void OnDisable() { Debug.Log("PrintOnDisable: script was disabled"); }

void OnEnable() { Debug.Log("PrintOnEnable: script was enabled"); }

void Update() { #if UNITY_EDITOR Debug.Log("Editor causes this Update"); #endif } }

Note: OnDisable cannot be a co-routine.
See Also: OnEnable.