OpenUSD Validator Catalog
This page is the public-facing reference catalog for the OpenUSD validation framework used by Preflight.
- Baseline: OpenUSD 26.03
- Why this page exists: upstream OpenUSD docs are canonical for APIs, and this catalog helps map validator families and stable rule identifiers to Preflight diagnostics and fixes.
Runtime Note
Section titled “Runtime Note”Preflight validation uses the OpenUSD validation framework in-process.
- The
usdcheckertool is a reference frontend over that same framework. - Preflight surfaces the same canonical rule identifiers in app UI, agent surfaces, and exported reports.
- This page is intentionally curated. It does not publish internal scoring weights or internal coverage percentages.
Why Keep This Catalog
Section titled “Why Keep This Catalog”- Validator availability can vary by OpenUSD version and installed validator plugins.
- Canonical rule identifiers are what automation and fix workflows should key off of.
- Preflight maps a stable subset of these rules to repair actions and user-facing guidance.
Validator Families
Section titled “Validator Families”| Validator ID | Doc | Keywords | Schema Types |
|---|---|---|---|
usdGeomValidators:StageMetadataChecker | All stages must declare their upAxis and metersPerUnit. | UsdGeomValidators | - |
usdGeomValidators:SubsetFamilies | Validates all of the geom subset families authored beneath an Imageable prim. | UsdGeomValidators, UsdGeomSubset | UsdGeomImageable |
usdGeomValidators:SubsetParentIsImageable | Validates that GeomSubset prims are direct descendants of an Imageable prim. | UsdGeomValidators, UsdGeomSubset | UsdGeomSubset |
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 | - |
usdShadeValidators:MaterialBindingApiAppliedValidator | Verify a prim has the MaterialBindingAPI applied if it has a material binding relationship. | UsdShadeValidators | - |
usdShadeValidators:MaterialBindingCollectionValidator | Verify that a collection defining a material binding is well-formed. | UsdShadeValidators | MaterialBindingAPI |
usdShadeValidators:MaterialBindingRelationships | All properties named material:binding or in that namespace should be relationships. | UsdShadeValidators | - |
usdShadeValidators:NormalMapTextureValidator | UsdUVTexture nodes that feed inputs:normals of a UsdPreviewSurface must ensure correct range mapping and color space. | UsdShadeValidators | UsdShadeShader |
usdShadeValidators:ShaderSdrCompliance | Shader prim input types must conform to expected sdf types in the corresponding SDR shader. | UsdShadeValidators | UsdShadeShader |
usdShadeValidators:SubsetMaterialBindFamilyName | Geom subsets with authored material bindings should have the materialBind family name. | UsdShadeValidators, UsdGeomSubset | UsdGeomSubset |
usdShadeValidators:SubsetsMaterialBindFamily | Geom subsets of the materialBind family should have a restricted family type. | UsdShadeValidators, UsdGeomSubset | UsdGeomImageable |
usdSkelValidators:SkelBindingApiAppliedValidator | Verify a prim has the SkelBindingAPI applied if it has a UsdSkelBinding property. | UsdSkelValidators | - |
usdSkelValidators:SkelBindingApiValidator | Verify that a prim with SkelBindingAPI applied is either of SkelRoot type or parented by a SkelRoot prim. | UsdSkelValidators | UsdSkelBindingAPI |
usdUtilsValidators:MissingReferenceValidator | The composed USD stage should not contain unresolvable asset dependencies across variants when using the default resolver. | UsdUtilsValidators | - |
usdValidation:CompositionErrorTest | Provides composition errors generated while composing the stage. | UsdCoreValidators | - |
usdValidation:StageMetadataChecker | Stages consumed as referenceable assets must have a valid defaultPrim. | UsdCoreValidators | - |
Example Canonical Rule IDs
Section titled “Example Canonical Rule IDs”Examples of stable canonical rule identifiers surfaced by Preflight:
usdValidation:StageMetadataChecker.MissingDefaultPrimusdShadeValidators:MaterialBindingApiAppliedValidator.MissingMaterialBindingAPIusdShadeValidators:ShaderSdrCompliance.MismatchedPropertyTypeusdShadeValidators:SubsetsMaterialBindFamily.InvalidFamilyType
These rule IDs are the right join key for:
- automation
- exported validation reports
- diagnosis-to-fix mapping
- user-facing troubleshooting guides
Refresh Procedure
Section titled “Refresh Procedure”Update this page when:
- the OpenUSD baseline changes
- Preflight validator plugins/rules change
- the public canonical-rule subset changes materially