Omni Asset Validator

A python framework to provide Usd.Stage validation based on the USD ComplianceChecker (i.e. the same backend as the usdchecker commandline tool), with an aim to validate assets against Omniverse specific rules to ensure they run smoothly across all Omniverse products.

It includes the following components:

  • A rule interface and registration mechanism that can be called from external python modules.

  • An engine that runs the rules on a given Usd.Stage, layer file, or recursively searches an Omniverse folder for layer files.

  • An issue fixing interface for applying automated fixes if/when individual rules provide suggestions.

    • Note this API is still in-progress. Currently no rules provide the necessary suggestions.

  • An Asset Validator Window enabling users to opt in/out of specific rules, run the validation engine, and inspect the results.

  • Context menus in the Kit Content Browser, Layer Window, and Stage Window to launch the Asset Validator Window.

  • A standalone commandline script enabling validation outside of any GUI application.

The core python module can be run from any python environment provided the Carbonite SDK & Plugins and Omni Usd Resolver are available.

The Asset Validator Window and other UIs are Kit Extensions, so must be run from Kit based applications, or other environments where omni.ui is available.

It’s important to note that any client python code (Kit Extension or otherwise) is able to register new validation rules. It is not necessary to add rules in the core code directly, nor does it require a Kit based application.

In the future we plan to add the following:

  • A service extension to aid distributing validation tasks across shared resources

  • Persistent logging & visualization of validation runs

Indices and tables