PIX on Windows in Unity
Today I have released the first version of Delt06/unity-pix - a convenient PIX integration for the Unity Editor. UX-wise, it is similar to the built-in RenderDoc integration, which has been available in Unity for quite some time already.
At work or when tinkering with pet projects, I tend to use multiple GPU debugger/profilers apart from RenderDoc: mostly PIX and Nsight Graphics. Ever since the development of Delt06/aaaa-rp, I have felt a need to integrate these tools right into the Unity Editor. Even though RenderDoc is great for debugging, it is not an all-in-one solution for inspecting GPU captures. That’s precisely why I have decided to a develop a Unity plugin for PIX. Below is a brief description of use cases when one might favor it over RenderDoc.
- The biggest reason for having PIX is an ability to quickly iterate during optimization sessions. PIX reports both timings and hardware-specific metrics, making it a pleasure to test optimization hypotheses.
- Another one is DXIL shader debugging. As of end of June 2025, RenderDoc supports it only partially (see the changelog for RenderDoc v1.36). Whether you use ShaderModel 6.0+ or simply compile with DXC for compilation speed and stability, PIX could become your to-go tool for shader debugging.
Even though PIX is quite useful in the use cases above, it might fall short in other debugging scenarios because, unfortunately, it is slow, clumsy, and may be somewhat unstable on bigger projects. Therefore, it is always better to keep all the tools in mind.
If you want to give PIX in Unity a shot, I suggest trying out Delt06/unity-pix, it might really improve your debugging and profiling workflows.