El Editor soporta el lanzamiento integrado y captura del depurador de gráficos RenderDoc, para la introspección y depuración detalladas de los frames.
La integración sólo se soporta para las versiones RenderDoc 0.26 o posterior, por lo que si una versión anterior está instalada, es necesario que actualice al menos a la versión 0.26.
** Nota:** Aunque la integración sólo está disponible en el Editor, es muy posible utilizar RenderDoc como normal sin ninguna configuración adicional en construcciones del player standalone.
Nota: Los frames sólo se pueden capturar si Unity se está ejecutando en una plataforma y una API que RenderDoc soporte - en el momento de escribir esto significa sólo el perfil de Windows, y DirectX 11 o OpenGL Core. Si se está utilizando otra API, la integración de RenderDoc se deshabilitará temporalmente hasta que se habilite una API compatible.
Si se detecta una instalación de RenderDoc, en cualquier momento después de cargar el Editor, puede hacer clic con el botón derecho del ratón en la pestaña del Game Viewo Scene View y oprimir en la opción ‘Load RenderDoc’. Esto volverá a cargar el dispositivo de gráficos por lo que debe guardar los cambios, pero después RenderDoc estará listo para capturar sin tener que reiniciar el editor o construir un player independiente.
Nota: También puede iniciar el Editor a través de RenderDoc como normal o pasar la opción de línea de comandos -load-renderdoc para cargar RenderDoc desde el inicio.
Cuando se detecta una versión compatible de RenderDoc como cargada en el Editor, aparecerá un nuevo botón en el lado derecho de la barra de herramientas en la Game y Scene Views.
Al presionar este botón se disparará una captura del siguiente frame de renderizado para la vista. Si la interfaz de usuario de la herramienta RenderDoc no se ha abierto, se iniciará una nueva instancia para mostrar la captura y, si ya se está ejecutando, aparecerá automáticamente la captura más reciente. Desde allí se puede abrir la captura y depurar con la herramienta.
De forma predeterminada para optimizar el tamaño de los shaders de DirectX11, se borra la información de depuración. Esto significa que las constantes y los recursos no tendrán nombres, y el shader fuente no estará disponible. Para incluir esta información de depuración en su shader, incluya #pragma enable_d3d11_debug_symbols en el bloque CGPROGRAM de su shader.
Si se construye un player standalone con D3D11, usted puede capturar un frame y depurarlo utilizando el depurador Visual Studio graphics.