whatisgithub

What is openusd?

pixaranimationstudios/openusd — explained in plain English

Analysis updated 2026-06-24

7,251C++Audience · developerComplexity · 4/5Setup · hard

In one sentence

OpenUSD is Pixar's open-source 3D scene description system that lets film, VFX, and games software share geometry, animation, lighting, and materials through a common file format.

Mindmap

mindmap
  root((OpenUSD))
    What it does
      Common 3D format
      Cross-app scene sharing
      VFX pipeline glue
    Scene Contents
      Geometry meshes
      Lighting rigs
      Cameras
      Time-sampled animation
    Workflow Features
      Layer compositing
      Non-destructive edits
      Multi-department pipeline
    Developer Tools
      C++ library
      Python bindings
      usdview inspector
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Exchange 3D scenes between modeling software and a rendering engine without manual format conversion

USE CASE 2

Write Python scripts that procedurally generate or modify USD scene files for an automated VFX pipeline

USE CASE 3

Inspect a USD file from any software tool using the included usdview standalone viewer without a commercial 3D application

What is it built with?

C++PythonWebAssembly

How does it compare?

pixaranimationstudios/openusdpaddlepaddle/paddle-liteversatica/mediasoup
Stars7,2517,2557,247
LanguageC++C++C++
Setup difficultyhardmoderatehard
Complexity4/54/55/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a C++ compiler and several build dependencies, the included build_scripts/build_usd.py script downloads and compiles most of them automatically.

License not mentioned in the explanation.

So what is it?

OpenUSD, which stands for Universal Scene Description, is a system created by Pixar Animation Studios for describing 3D scenes in a format that multiple graphics programs can read and write. Think of it as a shared language for 3D content: you might build a scene in one application, save it as a USD file, and then open it in a completely different application without losing the 3D objects, lighting, cameras, or animation data. The original problem this solves comes from the film and visual effects industry. Large productions involve many different software tools working on the same assets, and getting them to talk to each other has historically been difficult. USD gives those tools a common format so that a scene can flow from modeling software to a lighting tool to a rendering engine without constant manual conversion. At a technical level, USD handles geometry, shading materials, lighting rigs, cameras, and time-sampled animation, meaning it stores how objects change position or shape over time. Files can be layered on top of each other, so different departments can work on separate pieces of the same scene and then combine them without overwriting each other's changes. The project ships as a C++ library with optional Python bindings, so developers can write scripts to create or modify USD content. It also includes usdview, a standalone viewer for inspecting USD files without a full commercial application. Building it requires a C++ compiler and a few other tools, and there is a build script that handles downloading and setting up those dependencies automatically. The library runs on Linux, macOS, and Windows, and can also be compiled for iOS, visionOS, and web browser environments using WebAssembly.

Copy-paste prompts

Prompt 1
Write a Python script using the OpenUSD pxr library that creates a USD stage with a sphere mesh, a distant light, and a perspective camera, then saves it as scene.usda.
Prompt 2
How do I use usdview from the command line to open a .usda file, navigate the scene hierarchy, and inspect a specific prim's attributes?
Prompt 3
I'm setting up a VFX pipeline where one artist works on geometry and another on lighting. Show me how to use USD layers and composition arcs so neither artist overwrites the other's work.
Prompt 4
How do I load OpenUSD's Python module in a script and read the transform matrix of every mesh prim in a .usd file? Give me working code.

Frequently asked questions

What is openusd?

OpenUSD is Pixar's open-source 3D scene description system that lets film, VFX, and games software share geometry, animation, lighting, and materials through a common file format.

What language is openusd written in?

Mainly C++. The stack also includes C++, Python, WebAssembly.

What license does openusd use?

License not mentioned in the explanation.

How hard is openusd to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is openusd for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.