Version: 2017.1
スクリプティングツール
MonoDevelop について

コンソール ウィンドウ

Console ウィンドウ (menu: Window > Console) は、エラー、警告などUnity によって生成されたメッセージを示しています。デバッグを支援するために、Debug.Log, Debug.LogWarningDebug.LogError 関数を使用して、コンソールで独自のメッセージを表示することもできます。

コンソールウィンドウのツールバーには、メッセージを表示する方法に影響を及ぼす多数のオプションがあります。

Clear ボタンは、コードから生成されたすべてのメッセージを削除しますが、コンパイルエラーは、保持します。Clear On Play オプションを有効にすると、ゲームを実行するたびにコンソールを自動的にクリアすることができます。

また、メッセージがコンソールに示されて、更新される方法を変更することもできます。Collapse オプションは、繰り返されるエラーメッセージの最初のインスタンスのみを示します。これは、時々、各フレーム更新で同じように生成される null 参照のようなランタイムエラーに、非常に役立ちます。error Pause オプションは Debug.LogError がスクリプトから呼び出されたときに再生を一時停止させます(しかし、Debug.Log は、この方法では一時停止しないことに注意してください)。実行中の特定のポイントで playback を凍結し、シーンを調べたいとき、これは便利です。

最後に、エラーに関するさらなる情報を表示するために2つのオプションがあります。コンソールタブメニューの Open Player LogOpen Editor Log 項目は、コンソールに表示されない場合、詳細を記録する Unity のログファイルにアクセスします。詳細は、ログファイル についてのページを参照してください。

廃止された API の警告と自動更新

Unity はコンソール上で、コード内で廃止された API 呼び出しを使用してた場合に警告を示します。たとえば、Unity はかつて一般的なコンポーネントタイプにアクセスするために、MonoBehaviour と他のクラスの中で “shortcuts” を持っていました。たとえば、以下のようなコードを使用して、オブジェクトの リジッドボディ にアクセスできました。

    // "rigidbody"変数はクラスの一部で、ユーザースクリプトでは定義されません。
        Vector3 v = rigidbody.velocity;

これらのショートカットは推奨されなくなりましたので、現在、以下のようなコードを使用する必要があります。

    // コンポーネントにアクセスするには、GetComponent を使用します。
        Rigidbody rb = GetComponent();
        Vector3 v = rb.velocity;

廃止された API 呼び出しを検出すると、Unity はそれらについての警告メッセージを表します。このメッセージをダブルクリックすると、Unity は自動的に、非推奨の記述から推奨する記述にアップグレードしようとします。

スタックトレース

ログメッセージをコンソールウィンドウやログファイルに出力するときに、スタックトレースを正確にキャプチャする方法を指定することができます。

これは、エラーメッセージが明確ではなく、普段エンジン領域でエラーとして見えないスタックトレース部分を見なければいけないときにとても便利です。 スタックトレースをロギングするのに 3 つのオプションが存在します。

  • None - スタックトレースを出力しません
  • ScriptOnly - マネージドのスタックトレースのみを出力します
  • Full - ネイティブとマネージド両方のスタックトレースを出力します。注記: このオプションで取得できるスタックトレースは、とても高負荷であり、デバッグ目的のみで使用するべきです。

また、スクリプトを介してスタックトレースをロギングすることができます。詳しくは Application.stackTraceLogType を参照してください。

スクリプティングツール
MonoDevelop について