説明

Start はスクリプトが有効で、Update メソッドが最初に呼び出される前のフレームで呼び出されます

Awake 関数と同様に、Start 関数はスクリプトの生存期間中に一回のみ呼び出されます。しかし Awake はスクリプトが有効化されているかどうかに関わらず、スクリプトオブジェクトが初期化されるときに呼び出されます。もし初期化のタイミングでスクリプトが有効化されてない場合、Start は Awake と同じフレームで呼び出されない場合があります。

Awake 関数はどのオブジェクトの Start 関数が呼び出されるよりも前に、シーン上のすべてのオブジェクトで呼び出されます。これはオブジェクト A の初期化コードがオブジェクト B の初期化コードが実行されていることに依存する必要がある場合に便利です。B の初期化コードは Awake で行い、A の初期化コードは Start で行なうべきです。

オブジェクトがゲームプレイの最中にインスタンス化された場合、必然的に Awake 関数はシーンオブジェクトの Start 関数が完了した後に呼び出されます。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { private GameObject target; void Start() { target = GameObject.FindWithTag("Player"); } }