覚醒 vs. スタート

UnityAPI をスクリプト化すると、一連の初期化関数が提供されます。

初期化関数は、スクリプトのライフサイクルの開始時に呼び出される関数です。

Unity の初期化関数は 'Awake' と 'Start' です。

'Awake' 対 'Start'

'Awake' と 'Start' の違いは、実行順序と実行条件です。

関数 'Awake' は、スクリプトが有効かどうかに関係なく最初に実行され、関数 'Start' はスクリプトが有効な場合にのみ実行されます。どちらの関数も、最初の 'Update' メソッドの前に実行されます。

    void Awake()
    {
        Debug.Log("Awake runs first");
    }

    void Start()
    {
        Debug.Log("Start runds second");
    }

関数 'Start' はコルーチンにすることもできます ('void' を 'IEnumerator' に置き換え、'yield' パラメーターを追加することで) が、関数 'Awake' はコルーチンにすることができません。

    IEnumerator Start()
    {
        //Wait 1 second before running the next code
        yield return new WaitForSeconds(1);

        Debug.Log("Start");
    }

取り除く

どちらの関数も初期化目的 (プライベート変数の割り当て、ゲーム オブジェクトの生成など) に役立ち、組み合わせて使用​​すると、さまざまなシナリオの実装に役立ちます。

おすすめの記事
Unity の MonoBehaviour ガイド
Unity の値を初期化するランタイムの開始時のメソッド
C# の便利なキーワードの Unity リスト
関数とメソッド呼び出しを理解する
Unity C# スクリプト言語の概要
Unity でより優れたプログラマーになる方法
Unity の難読化方法とハッキング対策保護