PixarAnimationStudios/OpenUSD

Media & Design

A C++ scene description system for authoring, reading and streaming time-sampled 3D scenes across graphics applications.

7,610
1,476
C++
NOASSERTION
10 years old

What it is

Universal Scene Description (USD) is a C++ system for authoring, reading and streaming time-sampled scene descriptions so that graphics applications can interchange complex 3D scenes. Pixar develops it, and the project provides the core libraries plus optional imaging, Python bindings and the usdview inspection tool. It suits pipeline and tools engineers building 3D content pipelines, studios integrating multiple DCC tools, and developers embedding scene interchange in an application.

USD is primarily developed on Linux (CentOS 7) and is also built and supported on macOS and Windows. Builds for iOS, visionOS and WebAssembly are possible, but Apple embedded builds exclude Python bindings and command-line tools, and Wasm builds produce static libraries without command-line tools.

Build and try it

Prepare a C/C++ compiler, CMake and Intel TBB. Python, PyOpenGL and PySide6/PySide2 are needed for bindings and usdview. Clone the repository, then run the supplied build script with an install directory outside the source tree:

git clone https://github.com/PixarAnimationStudios/OpenUSD
python OpenUSD/build_scripts/build_usd.py /path/to/my_usd_install_dir

The script downloads and builds the required dependencies, then builds and installs USD. On Windows, run it from the appropriate x64 or ARM64 Native Tools Command Prompt and pass a destination such as C:\path\to\my_usd_install_dir; ARM64EC is not compatible, and usdview is not supported on ARM64. For iOS or visionOS cross-compilation, add --build-target iOS or --build-target visionOS together with --build-monolithic.

When the script finishes, set the environment variables it reports and open a sample asset:

usdview OpenUSD/extras/usd/tutorials/convertingLayerFormats/Sphere.usda

For direct CMake configuration, extra components and dependency versions, see Advanced Build Configuration and tested versions.

Constraints

Imaging components depend on OpenSubdiv; OpenEXR, OpenImageIO, OpenColorIO, OSL and Ptex are optional. The build script assumes an out-of-source install, and installing into the cloned repository is untested. Python bindings require Python, while usdview additionally requires PySide6 or PySide2 and PyOpenGL. Apple framework builds are experimental, require monolithic builds, and do not currently support a universal macOS framework.

HotRepo's take

OpenUSD recorded 39 new stars in the C++ weekly ranking for the week of 2026-11-02 and reached 8th place on that list, against a running total of 7,610 stars and 1,476 forks. That single snapshot shows sustained interest within the C++ community, but it does not establish a longer trend. The project's scope—a cross-application scene interchange format with bindings and a viewer—makes the build and deployment details above the main adoption cost for teams evaluating it.

Written by AI from the project's README, updated . The project's own docs are the source of truth.