Version: 2021.3
言語: 日本語
Quality
Tags and Layers

Script Execution Order

スクリプトの Script Execution Order 設定を使用して、Unity がさまざまな MonoBehaviour クラスのイベント関数を呼び出す相対的な順序を指定します。例えば、Unity が MoveForward MonoBehaviour スクリプトのイベント関数を実行する前に、Rotation MonoBehaviour スクリプトのイベント関数を実行するように指定できます。

この順序はイベント関数の各カテゴリに個別に適用されるため、Unity はフレーム内で呼び出す必要のあるすべての Awake 関数を指定された順序で呼び出し、後でアクティブなゲームオブジェクトの Update 関数を同じ順序で呼び出します。

Project Settings インスペクターでスクリプトの実行順序を調整できます。メニューから Edit > Project Settings (編集 > プロジェクト設定) と移動し、Script Execution Order を選択します。

ノート: 複数のスクリプトタイプを複数のゲームオブジェクトに割り当てる場合、スクリプトの実行順序は、どのゲームオブジェクトにアタッチされているかに関わらず、あるタイプのすべてのスクリプトが他のタイプのすべてのスクリプトよりも先に実行されるように指定します。

プラス (+) ボタンを使用して、設定のウィンドウでスクリプトを追加し、クラス名を選択します。スクリプトを削除するには、リストの各項目の右側にあるマイナス (-) ボタンを使用します。

実行順序を指定するには、リスト内の項目をドラッグして順序を変えるか、リスト内のクラスの順序の番号を編集します。割り当てられた番号は、相対的な順序を表しています。Unity はリストを上から下の順に (大きな負の順序番号のスクリプトから大きな正の順序番号のスクリプトに向かって) 実行します。Unity は、Default Time (デフォルトタイム) の間に、このリストにないスクリプトを実行します。これは、負の順序番号を持つスクリプトの後、正の順序番号を持つスクリプトの前に実行されます。

順序番号は任意であり、物理的な量を表すものではありません。エディターは、これらの値をスクリプトのメタデータファイルに保存します。リスト内の他のスクリプトを追加または移動するときに、余分なファイルの変更を回避するために、順序番号の間に間隔を残すことができます。

ノート: この設定ウィンドウで指定された実行順序は、RuntimeInitializeOnLoadMethod 属性でマークされた関数の順序には影響しません。(ランタイム初期化の順序は指定できません。)

Unity がフレーム内のさまざまなカテゴリのイベント関数を呼び出すタイミングについては、イベント関数の実行順序 を参照してください。

Quality
Tags and Layers