Console ウィンドウ (menu: Window > Console) は、エラー、警告、および、Unity によって生成された他のメッセージを示しています。デバッグを支援するために、あなたは、Debug.Log, Debug.LogWarning および Debug.LogError 関数を使用して、コンソールで独自のメッセージを表示することができます。
コンソールウィンドウのツールバーには、メッセージを表示する方法に影響を及ぼす多数のオプションがあります。
Clear ボタンは、あなたのコードから生成されたすべてのメッセージを削除しますが、コンパイルエラーは、保持します。Clear On Play オプションを有効にすると、ゲームを実行するたびに自動的にクリアされるコンソールを手配することができます。
また、メッセージがコンソールに示されて、更新される方法を変更することもできます。Collapse オプションは、繰り返され続けるエラーメッセージの最初のインスタンスのみを示します。これは、時々、各フレーム更新で同じように生成されるヌル参照のようなランタイムエラーに、非常に役立ちます。error Pause オプションは Debug.LogError がスクリプトから呼び出されたときに再生を一時停止させます(しかし、Debug.Log は、この方法では一時停止しないことに注意してください)。あなたが実行中の特定のポイントで playback を凍結し、シーンを調べたいとき、これは便利です。
最後に、エラーに関するさらなる情報を表示するために2つのオプションがあります。コンソールタブメニューの Open Player Log と Open Editor Log 項目は、コンソールに表示されない場合、詳細を記録する Unity のログファイルにアクセスします。詳細は、ログファイル についてのページを参照してください。
他のメッセージの中で、Unity はあなたのコード内で廃止された API 呼び出しの使用に関する警告を示します。たとえば、Unity はかつて一般的なコンポーネントタイプにアクセスするために、MonoBehaviour と他のクラスの中で “shortcuts” を持っていました。それで、たとえば、以下のようなコードを使用して、オブジェクトの リジッドボディ にアクセスできました:
// The "rigidbody" variable is part of the class and not declared in the user script.
Vector3 v = rigidbody.velocity;
これらのショートカットは推奨されなくなりましたので、あなたは現在、以下のようなコードを使用する必要があります:
// Use GetComponent to access the component.
Rigidbody rb = GetComponent<Rigidbody>();
Vector3 v = rb.velocity;
廃止された API 呼び出しを検出すると、Unity はそれらについての警告メッセージを表します。このメッセージをダブルクリックすると、Unity は自動的に、非推奨の使用法を同等の推奨する使用法にアップグレードしようとします。
ログメッセージをコンソールウィンドウやログファイルに出力するときに、スタックトレースを正確にキャプチャする方法を指定することができます。
これは、エラーメッセージが明晰ではなく、普段エンジン領域でエラーとして見えないスタックトレース部分を見なければいけないときにとても便利です。 スタックトレースをロギングするのに 3 つのオプションが存在します。
また、スクリプトを介してスタックトレースをロギングすることができます。詳しくは Application.stackTraceLogType を参照してください。