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