Rendering Debugger
The Rendering Debugger is a specific window for the Scriptable Render Pipeline that contains debugging and visualization tools. You can use these tools to understand and solve any issues you might encounter. It contains graphics-related tools but you can extend it to include tools for any other field, such as animation. The Rendering Debugger separates debug items into the following sections:
The Rendering Debugger
Using the Rendering Debugger
The Rendering Debugger window is available in the following modes:
- The Editor.
- The Play mode.
- At runtime in the standalone Unity Player, on any device. The window is only available in Development Builds.
To open the Rendering Debugger in the Editor:
Enable Runtime Debug Shaders in HDRP Global Settings (in the menu: Edit > Project Settings > Graphics > HDRP Settings).
Select Window > Analysis > Rendering Debugger.
To open the window in the Play mode, or at runtime in a Development Build, use the keyboard shortcut Ctrl+Backspace (Ctrl+Delete on macOS) or press L3 and R3 (Left Stick and Right Stick) on a controller.
You can display read-only items, such as the FPS counter, independently of the Rendering Debugger window. When you disable the Rendering Debugger window, they're still visible in the top right corner of the screen. Use this functionality to track particular values without cluttering the screen.
You can disable the runtime UI entirely by using the enableRuntimeUI
property.
Navigation at runtime
To change the current active item:
- Keyboard: Use the arrow keys.
- Xbox controller: Use the Directional pad (D-Pad).
- PlayStation controller: Use the Directional buttons.
To change the current tab:
- Keyboard: Use the Page up and Page down keys (Fn + Up and Fn + Down keys respectively for MacOS).
- Xbox controller: Use the Left Bumper and Right Bumper.
- PlayStation controller: Use the L1 button and R1 button.
To display the current active item independently of the debug window:
- Keyboard: Press the right Shift key.
- Xbox controller: Press the X button.
- PlayStation controller: Press the Square button.
Decals panel
The Decals panel has tools that you can use to debug decals affecting transparent objects in your project.
Debug Option | Description |
---|---|
Display Atlas | Enable the checkbox to display the decal atlas for a Camera in the top left of that Camera's view. |
Mip Level | Use the slider to select the mip level for the decal atlas. The higher the mip level, the blurrier the decal atlas. |
Display Stats panel
The display stats panel is only visible in play mode. You can use it to debug performance issues in your project.
Debug Option | Description | |
---|---|---|
Frame Rate | Displays the frame rate in frames per second for the current camera view. | |
Frame Time | Displays the total frame time for the current camera view. | |
RT Mode | If you enable ray tracing, it displays the ray tracing Tier used during rendering. | |
Count Rays | If you enable ray tracing, enable the checkbox to count the number of traced rays per effect (in MRays / frame). | |
Ambient Occlusion | The number of rays that were traced for Ambient Occlusion (AO) computations, when you enable RT AO. | |
Shadows Directional | The number of rays that were traced for directional lights, when you enable RT shadows. | |
Shadows Area | The number of rays that were traced towards area lights, when you enable RT shadows. | |
Shadows Point/Spot | The number of rays that were traced towards punctual (point/spot) lights, when you enable RT shadows. | |
Reflection Forward | The number of rays that were traced for reflection computations using forward shading. | |
Reflection Deferred | TThe number of rays that were traced for reflection computations using deferred shading. | |
Diffuse GI Forward | The number of rays that were traced for diffuse Global Illumination (GI) computations using forward shading. | |
Diffuse GI Deferred | The number of rays that were traced for diffuse Global Illumination (GI) computations using deferred shading. | |
Recursive | The number of rays that were traced for diffuse Global Illumination (GI) computations when you enable recursive RT. | |
Total | The total number of rays that were traced. | |
Debug XR Layout | Enable to display XR passes debug informations. This mode is only available in the editor and development builds. |
Material panel
The Material panel has tools that you can use to visualize different Material properties.
Debug Option | Description | |
---|---|---|
Common Material Property | Use the drop-down to select a Material property to visualize on every GameObject on screen. All HDRP Materials share the properties available. | |
Material | Use the drop-down to select a Material property to visualize on every GameObject on screen using a specific Shader. The properties available depend on the HDRP Material type you select in the drop-down. | |
Engine | Use the drop-down to select a Material property to visualize on every GameObject on a screen that uses a specific Shader. The properties available are the same as Material but are in the form that the lighting engine uses them (for example, Smoothness is Perceptual Roughness). | |
Attributes | Use the drop-down to select a 3D GameObject attribute, like Texture Coordinates or Vertex Color, to visualize on screen. | |
Properties | Use the drop-down to select a property that the debugger uses to highlight GameObjects on screen. The debugger highlights GameObjects that use a Material with the property that you select. | |
GBuffer | Use the drop-down to select a property to visualize from the GBuffer for deferred Materials. | |
Material Validator | Use the drop-down to select properties to display validation colors for:
|
|
Too High Color | Use the color picker to select the color that the debugger displays when a Material's diffuse color is above the acceptable PBR range. This property only appears when you select Diffuse Color or Metal or SpecularColor from the Material Validator drop-down. |
|
Too Low Color | Use the color picker to select the color that the debugger displays when a Material's diffuse color is below the acceptable PBR range. This property only appears when you select Diffuse Color or Metal or SpecularColor from the Material Validator drop-down. |
|
Not A Pure Metal Color | Use the color picker to select the color that the debugger displays if a pixel defined as metallic has a non-zero albedo value. The debugger only highlights these pixels if you enable the True Metals checkbox. This property only appears when you select Diffuse Color or Metal or SpecularColor from the Material Validator drop-down. |
|
Pure Metals | Enable the checkbox to make the debugger highlight any pixels which Unity defines as metallic, but which have a non-zero albedo value. The debugger uses the Not A Pure Metal Color to highlight these pixels. This property only appears when you select Diffuse Color or Metal or SpecularColor from the Material Validator drop-down. |
|
Override Global Material Texture Mip Bias | Enable the checkbox to override the mipmap level bias of texture samplers in material shaders. Use the Debug Global Material Texture Mip Bias Value to control the mipmap level bias override. When using this feature, be aware of the following:
|
|
Debug Global Material Texture Mip Bias Value | Use the slider to control the amount of mip bias of texture samplers in material shaders. |
If the geometry or the shading normal is denormalized, the view renders the target pixel red.
Lighting panel
The Lighting panel has tools that you can use to visualize various components of the lighting system in your Scene, like, shadowing and direct/indirect lighting.
Shadow Debug Option | Description | |
---|---|---|
Debug Mode | Use the drop-down to select which shadow debug information to overlay on the screen:
|
|
Use Selection | Enable the checkbox to display the shadow map for the Light you select in the Scene. This property only appears when you select VisualizeShadowMap or SingleShadow from the Shadow Debug Mode drop-down. |
|
Shadow Map Index | Use the slider to select the index of the shadow map to view. To use this property correctly, you must have at least one Light in your Scene that uses shadow maps. | |
Global Scale Factor | Use the slider to set the global scale that HDRP applies to the shadow rendering resolution. | |
Clear Shadow Atlas | Enable the checkbox to clear the shadow atlas every frame. | |
Range Minimum Value | Set the minimum shadow value to display in the various shadow debug overlays. | |
Range Maximum Value | Set the maximum shadow value to display in the various shadow debug overlays. | |
Log Cached Shadow Atlas Status | Set the maximum shadow value to display in the various shadow debug overlays. |
Lighting Debug Option | Description | |
---|---|---|
Show Lights By Type | Allows the user to enable or disable lights in the scene based on their type. | |
Directional Lights | Enable the checkbox to see Directional Lights in your Scene. Disable this checkbox to remove Directional Lights from your Scene's lighting. | |
Punctual Lights | Enable the checkbox to see Punctual Lights in your Scene. Disable this checkbox to remove Punctual Lights from your Scene's lighting. | |
Area Lights | Enable the checkbox to see Area Lights in your Scene. Disable this checkbox to remove Aera Lights from your Scene's lighting. | |
Reflection Probes | Enable the checkbox to see Reflection Probes in your Scene. Disable this checkbox to remove Reflection Probes from your Scene's lighting. | |
Exposure | Allows you to select an Exposure debug mode to use. | |
Debug Mode | Use the drop-down to select a debug mode. See Exposure documentation for more information. | |
Show Tonemap curve | Enable the checkbox to overlay the tonemap curve to the histogram debug view. This property only appears when you select HistogramView from Debug Mode. |
|
Center Around Exposure | Enable the checkbox to center the histogram around the current exposure value. This property only appears when you select HistogramView from Debug Mode. |
|
Display RGB Histogram | Enable the checkbox to display the Final Image Histogram as an RGB histogram instead of just luminance. This property only appears when you select FinalImageHistogramView from Debug Mode. |
|
Display Mask Only | Enable the checkbox to display only the metering mask in the picture-in-picture. When disabled, the mask displays after weighting the scene color instead. This property only appears when you select MeteringWeighted from Debug Mode. |
|
Debug Exposure Compensation | Set an additional exposure compensation for debug purposes. | |
Debug Mode | Use the drop-down to select a lighting mode to debug. For example, you can visualize diffuse lighting, specular lighting, direct diffuse lighting, direct specular lighting, indirect diffuse lighting, indirect specular lighting, emissive lighting and Directional Light shadow cascades. | |
Hierarchy Debug Mode | Use the drop-down to select a light type to display the direct lighting for or a Reflection Probe type to display the indirect lighting for. | |
Light Layers Visualization | Enable the checkbox to visualize light layers of objects in your Scene. | |
Use Selected Light | Enable the checkbox to visualize objects affected by the selected light. | |
Switch to Light's Shadow Layers | Enable the checkbox to visualize objects casting shadows for the selected light. | |
Filter Layers | Use the drop-down to filter light layers that you want to visialize. Objects having a matching layer will be displayed in a specific color. | |
Layers Color | Use the color pickers to select the display color of each light layer. |
Material Overrides | Description | |
---|---|---|
Override Smoothness | Enable the checkbox to override the smoothness for the entire Scene. | |
Smoothness | Use the slider to set the smoothness override value that HDRP uses for the entire Scene. | |
Override Albedo | Enable the checkbox to override the albedo for the entire Scene. | |
Albedo | Use the color picker to set the albedo color that HDRP uses for the entire Scene. | |
Override Normal | Enable the checkbox to override the normals for the entire Scene with object normals for lighting debug. | |
Override Specular Color | Enable the checkbox to override the specular color for the entire Scene. | |
Specular Color | Use the color picker to set the specular color that HDRP uses for the entire Scene. | |
Override Ambient Occlusion | Enable the checkbox to override the ambient occlusion for the entire Scene. | |
Ambient Occlusion | Use the slider to set the Ambient Occlusion override value that HDRP uses for the entire Scene. | |
Override Emissive Color | Enable the checkbox to override the emissive color for the entire Scene. | |
Emissive Color | Use the color picker to set the emissive color that HDRP uses for the entire Scene. |
Debug Option | Description | |
---|---|---|
Fullscreen Debug Mode | Use the drop-down to select a fullscreen lighting effect to debug. For example, you can visualize Contact Shadows, the depth pyramid, and indirect diffuse lighting. | |
Tile/Cluster Debug | Use the drop-down to select an internal HDRP lighting structure to visualize on screen.
|
|
Tile/Cluster Debug By Category | Use the drop-down to select the Light type that you want to display the Tile/Cluster debug information for. The options include Light Types, Decals, and Local Volumetric Fog. This property only appears when you select Tile or Cluster from the Tile/Cluster Debug drop-down. |
|
Cluster Debug Mode | Use the drop-down to select the visualization mode for the cluster. The options are: VisualizeOpaque: displays cluster information on opaque geometry. VisualizeSlice: Displays cluster information at a set distance from the camera. This property only appears when you select Cluster from the Tile/Cluster Debug drop-down.. |
|
Cluster Distance | Use this slider to set the distance from the camera at which to display the cluster slice. This property only appears when you select VisualizeSlice from the Cluster Debug Mode drop-down. | |
Enable the checkbox to display an overlay of the cube map that the current sky generates and HDRP uses for lighting. | ||
Sky Reflection Mipmap | Use the slider to set the mipmap level of the sky reflection cubemap. Use this to view the sky reflection cubemap's different mipmap levels. This property only appears when you enable the Display Sky Reflection checkbox. |
|
Display Light Volumes | Enable the checkbox to display an overlay of all light bounding volumes. | |
Light Volume Debug Type | Use the drop-down to select the method HDRP uses to display the light volumes.
|
|
Max Debug Light Count | Use the slider to rescale the gradient. Lower this value to make the screen turn red faster. Use this property to change the maximum acceptable number of lights for your application and still see areas in red. This property only appears when you set the Display Light Volumes mode to Gradient. |
|
Display Cookie Atlas | Enable the checkbox to display an overlay of the cookie atlas. | |
Mip Level | Use the slider to set the mipmap level of the cookie atlas. This property only appears when you enable the Display Cookie Atlas checkbox. |
|
Clear Cookie Atlas | Enable the checkbox to clear the cookie atlas at each frame. This property only appears when you enable the Display Cookie Atlas checkbox. |
|
Display Planar Reflection Atlas | Enable the checkbox to display an overlay of the planar reflection atlas. | |
Mip Level | Use the slider to set the mipmap level of the planar reflection atlas. This property only appears when you enable the Display Planar Reflection Atlas checkbox. |
|
Clear Planar Atlas | Enable the checkbox to clear the planar reflection atlas at each frame. This property only appears when you enable the Display Planar Reflection Atlas checkbox. |
|
Debug Overlay Screen Ratio | Set the size of the debug overlay textures with a ratio of the screen size. The default value is 0.33 which is 33% of the screen size. |
Volume panel
The Volume panel has tools that you can use to visualize the Volume Components affecting a camera.
Debug Option | Description |
---|---|
Component | Use the drop-down to select which volume component to visualize. |
Camera | Use the drop-down to select which camera to use as volume anchor. |
Parameter | List of parameters for the selected component. |
Interpolated Value | Current value affecting the choosen camera for each parameter. |
Other columns | Each one of the remaining columns display the parameter values of a volume affecting the selected Camera. They're sorted from left to right by decreasing influence. |
Rendering panel
The Rendering panel has tools that you can use to visualize various HDRP rendering features.
Debug Option | Description | |
---|---|---|
Fullscreen Debug Mode | Use the drop-down to select a rendering mode to display as an overlay on the screen. | |
Motion Vectors | Select this option to display motion vectors. Note that object motion vectors aren't visible in the Scene view. | |
NaN Tracker | Select this option to display an overlay that highlights NaN values. | |
ColorLog | Select this option to display how the raw, log-encoded buffer looks before color grading takes place. | |
DepthOfFieldCoc | Select this option to display the circle of confusion for the depth of field effect. The circle of confusion displays how much the depth of field effect blurs a given pixel/area. | |
Quad Overdraw | Select this option to display an overlay that highlights gpu quads running multiple fragment shaders. This is mainly caused by small or thin triangles. Use LODs to reduce the amount of overdraw when objects are far away. (This mode is currently not supported on Metal and PS4). | |
Vertex Density | Select this option to display an overlay that highlights pixels running multiple vertex shaders. A vertex can be run multiple times when part of different triangles. This helps finding models that need LODs. (This mode is currently not supported on Metal). | |
TransparencyOverdraw | Select this option to view the number of transparent pixels that draw over one another. This represents the amount of on-screen overlapping of transparent pixel. This is useful to see the amount of pixel overdraw for transparent GameObjects from different points of view in the Scene. This debug option displays each pixel as a heat map going from black (which represents no transparent pixels) through blue to red (at which there are Max Pixel Cost number of transparent pixels). | |
RequestedVirtualTextureTiles | Select this option to display what texture tile each pixel uses. Pixels that this debug view renders with the same color request the same texture tile to be streamed into video memory by the streaming virtual texturing system. This debug view is useful to see which areas of the screen use textures that the virtual texturing system steams into video memory. It can help to identify issues with the virtual texture streaming system. | |
Max Pixel Cost | The scale of the transparency overdraw heat map. For example, a value of 10 displays a red pixel if 10 transparent pixels overlap. Any number of overdraw above this value also displays as red. This property only appears if you set Fullscreen Debug Mode to TransparencyOverdraw. |
|
MipMaps | Use the drop-down to select a mipmap streaming property to debug. | |
None | Select this option to disable this debug feature. | |
MipRatio | Select this option to display a heat map of pixel to texel ratio. A blue tint represents areas with too little Texture detail (the Texture is too small). A bed tint represents areas with too much Texture detail (the Texture is too large for the screen area). If the debugger displays the original color for a pixel, this means that the level of detail is just right. | |
MipCount | Select this option to display mip count as grayscale from black to white as the number of mips increases (for up to 14 mips, or 16K size). Red inidates Textures with more than 14 mips. Magenta indicates Textures with 0 mips or that the Shader doesn't support mip count. | |
MipCountReduction | Select this option to display the difference between the current mip count and the original mip count as a green scale. A brighter green represents a larger reduction (that mip streaming saves more Texture memory). Magenta means that the debugger doesn't know the original mip count. | |
StreamingMipBudget | Select this option to display the mip status due to streaming budget. Green means that streaming Textures saves some memory. Red means that mip levels are lower than is optimal, due to full Texture memory budget. White means that streaming Textures saves no memory. | |
StreamingMip | Select this option to display the same information as StreamingMipBudget, but to apply the colors to the original Textures. | |
Terrain Texture | Use the drop-down to select the terrain Texture to debug the mipmap for. This property only appears when you select an option other than None from the MipMaps drop-down. |
Color Picker | Description |
---|---|
Debug Mode | Use the drop-down to select the format of the color picker display. |
Font Color | Use the color picker to select a color for the font that the Color Picker uses for its display. |
The Color Picker works with whichever debug mode HDRP displays at the time. This means that you can see the values of various components of the rendering like Albedo or Diffuse Lighting. By default, this displays the value of the main High Dynamic Range (HDR) color buffer.
Debug Option | Description | |
---|---|---|
False Color Mode | Enable the checkbox to define intensity ranges that the debugger uses to display a color temperature gradient for the current frame. The color temperature gradient goes from blue, to green, to yellow, to red. | |
Range Threshold 0 | Set the first split for the intensity range. This property only appears when you enable the False Color Mode checkbox. |
|
Range Threshold 1 | Set the second split for the intensity range. This property only appears when you enable the False Color Mode checkbox. |
|
Range Threshold 2 | Set the third split for the intensity range. This property only appears when you enable the False Color Mode checkbox. |
|
Range Threshold 3 | Set the final split for the intensity range. This property only appears when you enable the False Color Mode checkbox. |
|
MSAA Samples | Use the drop-down to select the number of samples the debugger uses for MSAA. | |
Freeze Camera for Culling | Use the drop-down to select a Camera to freeze to check its culling. To check if the Camera's culling works correctly, freeze the Camera and move occluders around it. |
Debug Option | Description |
---|---|
Clear Render Targets at creation | Enable the checkbox to make the Render Graph system clear render targets the first time it uses them |
Disable Pass Culling | Enable the checkbox to render passes which have no impact on the final render. |
Immediate Mode | Enable the checkbox to make the Render Graph system evaluate passes immediately after it creates them. |
Log Frame Information | Press the button to log in the Console informations about the passes rendered during a frame. |
Log Resources | Press the button to log in the Console the list of resources used when rendering a frame. |
The NVIDIA device debug view is a panel that displays a list of the current feature states of NVIDIA Deep Learning Super Sampling (DLSS). Each row represents an active screen in which DLSS is running.
Information | Description |
---|---|
NVUnityPlugin Version | Displays the current internal version id of the NVIDIA Unity Plugin that interacts with DLSS. |
NGX API Version | Displays the actual version which DLSS operates on. |
Device Status | Displays the current status of the NVIDIA driver. If an internal error occurred when initializing the driver, Unity displays the error here. |
DLSS Supported | Displays True if your project supports DLSS at runtime. Otherwise, displays False. |
DLSS Slot ID | Displays an internal ID for the particular DLSS view being displayed. |
Status | Displays whether the view is valid or invalid. A view is invalid if there is an internal error, or if the Scriptable Render Pipeline passes incorrect parameters. |
Input resolution | Displays the current input resolution. Unity calculates this from the screen percentage specified for dynamic resolution scaling. |
Output resolution | Displays the target resolution for this particular DLSS view. |
Quality | Displays the quality selected for this particular DLSS view. |
Camera panels
In the Rendering Debugger, each active Camera in the Scene has its own debug window. Use the Camera's debug window to temporarily change that Camera's Frame Settings without altering the Camera data in the Scene. The Camera window helps you to understand why a specific feature doesn't work correctly. You can access all the information that HDRP uses the render the Camera you select.
Note: The Camera debug window is only available for Cameras, not Reflection Probes.
The following columns are available for each Frame Setting:
Column | Description |
---|---|
Debug | Displays Frame Setting values you can modify for the selected Camera. You can use these to temporarily alter the Camera’s Frame Settings for debugging purposes. You can't enable Frame Setting features that your HDRP Asset doesn't support. |
Sanitized | Displays the Frame Setting values that the selected Camera uses after Unity checks to see if your HDRP Asset supports them. |
Overridden | Displays the Frame Setting values that the selected Camera overrides. If you don't check the Custom Frame Settings checkbox, check it and don't override any settings, this column is identical to the Default column. |
Default | Displays the default Frame Setting values in your current HDRP Asset. |
Unity processes Sanitized, Overridden, and Default in a specific order:
- It checks the Default Frame Settings
- It checks the selected Camera’s Overridden Frame Settings.
- It checks whether the HDRP Asset supports the selected Camera’s Frame Settings
- It displays that result in the Sanitized column.
Interpreting the Camera window
- In the image above, Ray Tracing is disabled at the Sanitized step, but enabled at the Default and Overridden steps. This means that, although Ray Tracing is enabled in the Frame Settings this Camera uses, it's not enabled in the HDRP Asset’s Render Pipeline Supported Features.
- Also in the image above, Decals is disabled at the Overridden step, but enabled at the Default step. This means that Decals is enabled in the default Camera Frame Settings but disabled for that specific Camera’s Custom Frame Settings.