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