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

コンソール ウィンドウ

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 LogOpen Editor Log 項目は、コンソールに表示されない場合、詳細を記録する Unity のログファイルにアクセスします。詳細は、ログファイル についてのページを参照してください。

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

他のメッセージの中で、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 つのオプションが存在します。

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

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

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