USDChecker Validator Catalog
This page is the reference catalog of usdchecker validators as seen by Preflight’s local OpenUSD toolchain.
- Generated on: February 11, 2026
- Source command:
usdchecker --dumpRules <input.usd|usdz> - Why this page exists: upstream OpenUSD docs are canonical for APIs, and this catalog helps map validator IDs to Preflight diagnostics/fixes.
Important Runtime Note
Section titled “Important Runtime Note”Preflight app validation now prefers in-process internal strict checks over spawning an external usdchecker process.
- This catalog remains useful for validator parity analysis and rule-to-fix mapping.
- App UI, MCP, and
preflighttool validatediagnostics are produced by Preflight’s internal shared validation engine.
Why Keep This Catalog
Section titled “Why Keep This Catalog”- Validator availability can vary by OpenUSD version and installed validator plugins.
- Validator docs in this output are what users actually get during validation.
- Preflight can map these validator IDs to surgery actions and user-facing guidance.
Runtime Validator Metadata
Section titled “Runtime Validator Metadata”| Validator ID | Doc | Keywords | Schema Types | isSuite |
|---|---|---|---|---|
usdGeomValidators:StageMetadataChecker | All stages must declare their upAxis and metersPerUnit. | UsdGeomValidators | - | False |
usdGeomValidators:SubsetFamilies | Validates all of the geom subset families authored beneath an Imageable prim. | UsdGeomValidators, UsdGeomSubset | UsdGeomImageable | False |
usdGeomValidators:SubsetParentIsImageable | Validates that GeomSubset prims are direct descendants of an Imageable prim. | UsdGeomValidators, UsdGeomSubset | UsdGeomSubset | False |
usdShadeValidators:EncapsulationRulesValidator | Connectable prims (e.g. Shader, Material, etc) can only be nested inside other Container-like Connectable prims. Container-like prims include Material, NodeGraph, Light, LightFilter. Shader is not a Container-like prim. | UsdShadeValidators | - | False |
usdShadeValidators:MaterialBindingApiAppliedValidator | Verify a prim has the MaterialBindingAPI applied if it has a material binding relationship. | UsdShadeValidators | - | False |
usdShadeValidators:MaterialBindingCollectionValidator | Verify that a collection defining a material binding is well-formed. | UsdShadeValidators | MaterialBindingAPI | False |
usdShadeValidators:MaterialBindingRelationships | All properties named material:binding or in that namespace should be relationships. | UsdShadeValidators | - | False |
usdShadeValidators:NormalMapTextureValidator | UsdUVTexture nodes that feed inputs:normals of a UsdPreviewSurface must ensure correct range mapping and color space. | UsdShadeValidators | UsdShadeShader | False |
usdShadeValidators:ShaderSdrCompliance | Shader prim input types must conform to expected sdf types in the corresponding SDR shader. | UsdShadeValidators | UsdShadeShader | False |
usdShadeValidators:SubsetMaterialBindFamilyName | Geom subsets with authored material bindings should have the materialBind family name. | UsdShadeValidators, UsdGeomSubset | UsdGeomSubset | False |
usdShadeValidators:SubsetsMaterialBindFamily | Geom subsets of the materialBind family should have a restricted family type. | UsdShadeValidators, UsdGeomSubset | UsdGeomImageable | False |
usdSkelValidators:SkelBindingApiAppliedValidator | Verify a prim has the SkelBindingAPI applied if it has a UsdSkelBinding property. | UsdSkelValidators | - | False |
usdSkelValidators:SkelBindingApiValidator | Verify that a prim with SkelBindingAPI applied is either of SkelRoot type or parented by a SkelRoot prim. | UsdSkelValidators | UsdSkelBindingAPI | False |
usdUtilsValidators:MissingReferenceValidator | The composed USD stage should not contain unresolvable asset dependencies across variants when using the default resolver. | UsdUtilsValidators | - | False |
usdValidation:CompositionErrorTest | Provides composition errors generated while composing the stage. | UsdCoreValidators | - | False |
usdValidation:StageMetadataChecker | Stages consumed as referenceable assets must have a valid defaultPrim. | UsdCoreValidators | - | False |
Refresh Procedure
Section titled “Refresh Procedure”Use any representative asset and regenerate:
usdchecker --dumpRules "/absolute/path/to/asset.usdz"Then update this page when:
- OpenUSD version changes
- Preflight validator plugins/rules change
- Validation behavior differences are observed in production