OpenUSD describes a 3D scene as layered text files. Departments work in parallel without overwriting each other, every change is version-controlled, and any frame can be rebuilt from source when the underlying data is revised.
An open-source framework created at Pixar Animation Studios for describing, composing, simulating, and collaborating within 3D worlds.
USD is not just a file format. It is a scene description API with non-destructive layering, lazy loading via payloads, variant sets for asset variations, and a robust schema system. It is what lets hundreds of artists work on the same scene simultaneously without conflicts.
In 2023 the Alliance for OpenUSD (AOUSD) was formed by Apple, Pixar, Adobe, Autodesk, and NVIDIA to standardise USD as the universal 3D interchange format. MobiCycle Productions authors its sustainability visualisations on a USD pipeline for one practical reason: when a figure in the analysis is revised, the render is corrected and rebuilt rather than reshot.
Created USD and runs its feature pipeline on it.
USDZ is the AR delivery format across its platforms.
Omniverse is built natively on USD.
Native USD in Maya and 3ds Max.
USD workflows in Substance 3D.
Houdini Solaris is a full USD authoring context.
A production scene moves through five stages. Each stage reads and writes USD layers, so departments collaborate non-destructively on the same stage.
USD's power is its composition engine — LIVRPS. Six arcs, from strongest to weakest, determine how opinions from different layers resolve into the final stage.
USD support across major DCC applications, from full native integration to basic import and export.
| Application | Import | Export | Live edit | Hydra | Variants | Composition |
|---|---|---|---|---|---|---|
| NVIDIA Omniverse | Native | Native | Native | Full | Full | Full |
| Houdini (Solaris) | Native | Native | Native | Full | Full | Full |
| Maya | Native | Native | Plugin | VP2 + Storm | Partial | Partial |
| Blender | Native | Native | Limited | Hydra add-on | Partial | Partial |
| Cinema 4D | Native | Native | Limited | — | Partial | Basic |
| Unreal Engine | Plugin | Plugin | Live Link | — | Partial | Basic |
Real .usda syntax. Layers are plain text — they diff, merge, and review like any other source file, which is what makes a render reproducible.
#usda 1.0
(
defaultPrim = "Shot_010"
subLayers = [
@./layers/lighting.usd@, # strongest: lighting overrides
@./layers/animation.usd@, # animation department layer
@./layers/layout.usd@ # weakest: base layout
]
)
def Xform "Shot_010"
{
def Xform "Set" (
payload = @./sets/office_set.usd@</Office> # lazy-load heavy set geometry
) {}
def Xform "Characters"
{
def SkelRoot "Hero" (
references = @./chars/hero_rig.usd@
) {}
}
def Scope "Render"
{
def RenderSettings "MainRender"
{
rel camera = </Shot_010/Camera/MainCam>
int resolution:x = 1920
int resolution:y = 1080
}
}
}
#usda 1.0
def Xform "Chair" (
variants = {
string material = "wood"
}
prepend variantSets = "material"
)
{
variantSet "material" = {
"wood" {
rel material:binding = </Materials/Oak>
}
"metal" {
rel material:binding = </Materials/BrushedSteel>
}
"fabric" {
rel material:binding = </Materials/LinenBlue>
}
}
def Mesh "Seat"
{
# geometry defined here
}
}
Describe a pipeline problem, a composition question, or a tool decision. You get the relevant USD concept, guidance, a tool recommendation, and a code example.