Unity には、スクリプトが特定の順番で実行されるイベント関数が多くあります。実行順は以下のとおりです。
これらの関数は、シーンが始まると (シーン内の各オブジェクトに対して 1 度だけ) 呼び出されます。
シーンに追加されたオブジェクトにおいて すべて のスクリプトは Start や Update、その他の関数が呼び出される前に Awake と OnEnable 関数が呼び出されることに注意してください。当然のことながらオブジェクトがゲームプレイ中にインスタンス化されたときに強制的に呼び出すことはできません。
シーンに追加されたオブジェクトの Start 関数はすべてのスクリプトで Update や他の関数が呼び出される前に呼び出されます。当然のことながらオブジェクトがゲームプレイ中にインスタンス化されたときに強制的に呼び出すことはできません。
ゲームロジック、インタラクション、アニメーション、カメラ位置などの追跡に、各種イベントを使用できます。共通のパターンは Update 関数内のほとんどのタスクを実行することですが、その他の関数も使用できます。
FixedUpdate: FixedUpdate はしばしば、Update よりも頻繁に呼び出されることがあります。フレームレートが低く、フレーム間で呼び出されない可能性がある場合は、1 フレームに複数回呼び出される場合があります。フレームレートが高い場合は複数のフレームの間でも呼び出されないことがあります。すべての物理演算とアップデートは FixedUpdate のすぐ後に発生します。FixedUpdate 内で移動の計算を行う場合は、 Time.deltaTime で値を乗算する必要はありません。なぜなら FixedUpdate は、フレームレートとは関係なく、信頼性のあるタイマーで呼び出されるからです。
Update: Update は、 1 フレームにつき 1 度呼び出されます。これは、フレームのアップデートの主となる関数です。
LateUpdate: LateUpdate は Update 終了後に、各フレームにつき一度呼び出されます。Update で実行される計算は、LateUpdate が始まる前にに完了します。LateUpdate の一般的な使用方法は三人称カメラです。Update 内でキャラクターを動かし、回転させる場合、LateUpdate でカメラの移動と回転の計算をすべて行えます。これにより、キャラクターが完全に移動してからカメラが追跡することができます。
一般的にコルーチンのアップデートは、Update 関数の後に実行されます。コルーチンは、所定の YieldInstruction が終了するまで、その実行 (生成) を中止できる関数です。 コルーチンには以下の用法があります。
これらの関数は、シーン内のすべてのアクティブなオブジェクトで呼び出されます。
次の図はスクリプトが実行しているときのイベント関数の順序や繰り返し処理をまとめたものです。