MonoBehaviour

公式サイト:

UnityEngine.MonoBehaviour | Unity スクリプトリファレンス [公式]

概要

参考:

Unity でよくみる MonoBehavior とは? – Qiita

イベント関数の実行順序

参考:

イベントの実行順 – Qiita

コンポーネントのイベント実行順についての Tips | テラシュールブログ

イベント関数の実行順序 | Unity マニュアル [公式]

実行順序 (Script Execution Order)

参考:

Script Execution Order settings | Unity 2019.4 Manual [Official]

Awake / Start

  • Awakeスクリプトのインスタンスがロードされた時に呼び出される。
  • Start有効化された後、最初の Update の直前に呼び出される。

参考:

Unity の Awake と Start と OnEnable の違いを検証 | ゲームの作り方!

OnEnable / OnDisable

  • OnEnableオブジェクトが有効化される度に呼び出される。
  • OnDisableオブジェクトが無効化される度に呼び出される。

参考:

Unity の OnEnable、OnDisable、OnDestroy メソッドについて | かめくめ

ScriptableObject のコールバックが呼ばれるタイミングについて | テラシュールブログ

MonoBehaviour.OnEnable() | Unity スクリプトリファレンス [公式]

MonoBehaviour.OnDisable() | Unity スクリプトリファレンス [公式]

OnDestroy

  • OnDestroyオブジェクトが破壊される際に呼び出される。一般的には、シーンを閉じる、あるいは、ゲームが終了する際に発生する。

参考:

オブジェクトが消えた瞬間を察知してイベントを受け取る | あのゲームの作り方@わたぶろぐ

オブジェクトの破壊時にイベント継承クラス。 iTween 対応も | yasuaki のめげないゲーム開発

MonoBehaviour.OnDestroy() | Unity Scripting API [Official]

OnDisable() getting called from Destroy() – Unity Answers

GameObject is destroyed by which script – Stack Overflow

Destroy 処理

親子関係における OnDestroy の順序
  • コードから破壊した場合親から破壊される。(親 → 子 → 孫)
  • ヒエラルキーから削除した場合孫から破壊される。(孫 → 子 → 親)

※一連の OnDisable が呼び出された後、OnDestroy が処理される。

OnDestroy における親子関係の解除

親の OnDestroy で親子関係を解除する。(DetachChildren)

  1. OnDisable 呼び出し親から順に呼び出される。(親 → 子 → 孫)
  2. OnDestroy 呼び出し親子関係は解除されているので、親のみ呼び出される。(子より下は破壊されない。)

※子の OnDestroy 時には親は削除されているので、子の OnDestroy では親子関係は操作できない。

参考:

Destroy 処理中の OnDisable と OnDestroy の呼び出され方と、その最中に GameObject の親子関係を解除したときの挙動 – Qiita

継承 (virtual)

参考:

Unity の継承周りの苦痛をどうにかしたい – Qiita

OnValidate

参考:

Inspector から値を変更したときにコールバック処理を実行する簡単な方法 – Qiita

MonoBehaviour.OnValidate() と MonoBehaviour.Reset() でコンポーネントのプロパティの設定を楽にする | はなちるのマイノート

MonoBehaviour.OnValidate() | Unity スクリプトリファレンス [公式]

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA