2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UnityのScript Execution OrderとDefaultExecutionOrderの違いと使い方

Posted at

Unityでゲーム開発を進めている際、スクリプトの実行順序を制御する必要が出てくることがあります。この記事では、Script Execution OrderとDefaultExecutionOrderの2つの異なる方法について詳しく解説します。

1. Script Execution Order

Script Execution Orderは、Unityエディタから直接、スクリプトの実行順序を設定する方法です。これを使用すると、特定のスクリプトが他のスクリプトより先に、または後に実行されるよう手動で設定することができます。

特徴

  • GUIを介して設定するため、視覚的にわかりやすい。
  • エディタレベルでの設定のため、コードを変更する必要がない。

設定方法

  1. Unityエディタのメニューバーから [Edit] > [Project Settings] を選択。
  2. [Script Execution Order] パネルを開く。
  3. [+ Add] ボタンで新しいスクリプトを追加し、ドラッグアンドドロップで順序を変更。

2. DefaultExecutionOrder

DefaultExecutionOrderは、スクリプトに属性を追加して実行順序を指定する方法です。この属性を使用すると、コードレベルでの細かい制御が可能になります。

特徴

  • スクリプト内で直接実行順序を設定するため、柔軟に制御できる。
  • 複数のプロジェクトで同じスクリプトを使用する場合に便利。

設定方法

スクリプトに[DefaultExecutionOrder(order)]属性を追加するだけです。orderには整数を指定し、数値が小さいほど早く、数値が大きいほど遅く実行されます。

using UnityEngine;

[DefaultExecutionOrder(-100)]  // 他のスクリプトより先に実行
public class MyFirstScript : MonoBehaviour
{
    // ...
}

まとめ

  • Script Execution Orderは、エディタ上でグラフィカルにスクリプトの実行順序を設定する場合に便利です。
  • DefaultExecutionOrderは、コードレベルでスクリプトの実行順序を制御する必要がある場合、特に複数のプロジェクト間でスクリプトを共有する場合に有効です。

それぞれの制御方法には利点と欠点があるため、プロジェクトの要件に応じて最適な方法を選択してください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?