This repo contains an early prototype of a QC tool for USD scenes, designed to help identify common issues before they cause problems at render time.
It’s part of a broader suite of Houdini + USD utilities I’m building to catch subtle scene issues.
- Missing reference validation
- Attribute interpolation inconsistencies across time samples
- Invalid or missing render settings
- Unbound or missing cameras
- Broken or inactive material bindings
Ideal for TDs and developers working in VFX or animation pipelines who want lightweight, scriptable validation before handoff.
Primvars Check — our starting point and one of the core checks this tool performs
The Problem:
Let’s say you have a primvar (like Cd or st) on your geometry. — in our case, it’s called 'foo'.
Then you fracture it, or do some heavy geometry changes. Sometimes the attribute interpolation gets updated properly — but not always.
Now imagine you also run an attribute cleanup and remove that primvar entirely.
All good? Not quite.
When you bring that geometry back into LOPs, that primvar might still be there — inherited or carried over from a previous layer — but now the number of values doesn’t match the new geometry’s topology. For example:
A vertex-interpolated primvar with 100 values… but your fractured geo has 500 vertices now. A faceVarying primvar with stale data from before the fracture. Mismatch like this can silently break things at render time — or crash it altogether.

