エディターは、フレームの詳細なイントロスペクションとデバッグを行う RenderDoc グラフィックスデバッガーの起動とキャプチャの統合をサポートしています。
統合は RenderDoc 0.26 版以降で可能です。現在、インストールされているものがそれより古い場合は、少なくとも 0.26 版に更新する必要があります。
注意統合はエディターでのみ可能ですが、RenderDoc は、通常通りスタンドアロンのプレイヤービルドで追加設定なしで使用できます。
注意フレームは、RenderDoc がサポートするプラットフォームと API で Unity が実行されている場合にのみキャプチャできます。別の API が使用されている場合、サポートされている API が有効になるまで RenderDoc の統合は一時的に無効になります。サポートされているプラットフォームと API の詳細は、RenderDoc のドキュメント を参照してください。
RenderDoc のインストールが検出されると、エディターのロード後いつでも、Game View または Scene View タブを右クリックして、 ‘Load RenderDoc’ オプションをクリックできるようになります。クリックするとグラフィックスデバイスがリロードされるため、変更を保存しておく必要があります。ただし、その後は RenderDoc はエディターを再起動したり、スタンドアロンプレイヤーをビルドしたりすることなく、すぐにキャプチャできるようになります。
注意通常通り RenderDoc からエディターを立ち上げることもできます。また、コマンドラインのオプション -load-renderdoc を使って起動時に RenderDoc をロードすることもできます。
RenderDoc をエディターに読み込んだ際に互換性がある場合は、Game と Scene ビューのツールバーの右側に新しいボタンが表示されます。
このボタンを押すと、次にビューに描画されるフレームのキャプチャがトリガーされます。RenderDoc ツールの UI を開いていない場合は、キャプチャを表示するために新しいインスタンスが起動し、すでに実行している場合は最新のキャプチャが自動的にそこに表示されます。そこからキャプチャを開き、ツールを使用してデバッグできます。
デフォルトでは DirectX11 シェーダーのサイズを最適化するために、デバッグ情報には情報が欠けています。つまり、定数とリソースに名前がなく、シェーダーソースが利用できません。シェーダーに上記のデバッグ情報を追加するには、#pragma enable_d3d11_debug_symbols をシェーダーの CGPROGRAM ブロックに入れてください。
D3D11 を使用してスタンドアロンプレイヤーをビルドする場合、Visual Studio グラフィックスデバッガー でフレームをキャプチャーしてデバッグできます。