USD Optimize v1.0.2
USD Optimize
USD Optimize is a standalone C++ library with Python bindings for processing and optimizing OpenUSD (Universal Scene Description) stages. It's published by NVIDIA as part of the Omniverse ecosystem, but is designed to be embedded in your own applications and pipelines.
Functionality
It ships 45+ optimization operations that transform a USD stage in place, grouped into four categories:
- Geometry mesh cleanup, deduplication, decimation, shrinkwrapping, instancing, etc.
- Materials material consolidation, binding cleanup, texture operations.
- Stage / Hierarchy flattening, prim merging, scope reorganization.
- Utilities / Analysis read-only passes that report issues without mutating the stage.
Most operations have an analysis mode that reports findings (counts, problem prims, statistics) without writing changes. This powers the asset-validator integration.
Structure
- Plugin architecture. Each operation is its own C++ shared library under
source/operations/, subclassingomni::scene::optimizer::Operationand self-registering withSO_PLUGIN_INIT. The core auto-discovers plugins at build time, so adding an operation doesn't require touching the core. - Public C++ API in
include/omni/sceneoptimizer/ISceneOptimizer.hfor native integration. - Python bindings (pybind11) for scripting, JSON-driven batch runs, and pipeline use.
- Asset Validator integration. A set of
Performance-category rules wraps the analysis-mode operations, so problems can surface throughomniverse-asset-validatorand its CLI.
Usage
- From source -
./repo.sh build(Linux) orrepo.bat build(Windows). Tests via./repo.sh test. - As a prebuilt package - headers, libraries, Python bindings, and a USD Python runtime, for Windows x86_64 and Linux x86_64/aarch64. Install guides live under
docs/.
Agent / contributor tooling
The repo is instrumented for AI coding agents:
AGENTS.md/CLAUDE.md(symlinks to the same file) are the entry point for any agent..agents/skills/holds reusable task playbooks (run validators, interpret results, run operations, tune parameters, testing, etc.)..agents/operations/has per-operation tuning guides plusINDEX.md,INVOCATION.md, andPIPELINES.md(curated multi-op chains for memory / load-time / mesh-count / data-quality bottlenecks).
The project is not currently accepting external contributions but issues are welcome.