top of page

Understanding USD Composition: The Foundation of Scalable 3D Pipelines

Updated: Apr 14


ree

Table of Contents


1. Introduction to USD Composition


Composition is the heart of Pixar's Universal Scene Description (USD). It's what makes USD more than just a file format. Composition enables USD to manage complex, modular, non-destructive, and scalable 3D data across teams and applications.


Think of USD composition as a smart way of combining multiple opinions (data) from various sources into a final scene that reflects the most relevant, up-to-date, and valid version of the truth.

This article will dive deep into USD composition, with real-world examples, best practices, and code to help you understand and implement composition in your pipeline.



2. Composition in the USD Architecture


USD is architected around a composition engine. This engine:

  • Resolves assets and references.

  • Evaluates layer stacks.

  • Applies composition arcs like references, variants, inherits, and payloads.

  • Merges opinions into a single composed stage.


Composition allows USD to scale from individual assets to entire animated films, with layered authoring and clear separation of data.


Key Composition Terms:

  • Prim: A node in the scenegraph.

  • Attribute: A named value on a prim.

  • Layer: A file containing authored scene description.

  • Stage: A composed view of a scene assembled through composition arcs.



3. Key Concepts in USD Composition


USD composition relies on the concept of opinions:

  • Every USD layer has opinions about the scene.

  • The final composed scene is the result of resolving which opinions win.


USD supports compositional arcs, which describe how scenegraph data is brought together:

  • Sublayers

  • References

  • Payloads

  • Inherits

  • Variants



4. Layers and Sublayers: Building Blocks of Composition


ree

Sublayering

Sublayers are the simplest form of composition. A USD layer can include other layers as sublayers. Opinions from higher layers override those in lower layers.

Example: base.usda



Example: override.usda



The final composed result will be a cube of size 3, because the override wins.


Python Example:




5. Stage, LayerStack, and CompositionArc Explained


ree

  • Stage: View into composed scenegraph.

  • LayerStack: Set of layers that contribute opinions.

  • CompositionArc: Defines how one prim pulls in data from another (e.g., reference, inherit).



Use UsdUtils.CompositionQuery() to inspect the arcs.



6. LIVRPS in Composition


ree

USD composition is driven by a priority system known as LIVRPS:

  • Layers

  • Inherits

  • Variants

  • References

  • Payloads

  • Sublayers


This is also the order of increasing strength—i.e., layers can override inherits, variants can override references, and so on.


Practical Usage:

  • Place modeling data in referenced files.

  • Place shot edits in sublayers.

  • Use payloads for deferred loading.

  • Use variants for LODs, shader changes, or asset states.



7. References and Payloads


References

Bring in data from another file, fully loaded and resolved.



Payloads

Deferred loading until explicitly included.




8. VariantSets and VariantSelections


Variants let you define different versions of a prim.



Set selection:

"Asset.modelType" = "low"


9. Inherits and Class-Based Overrides


Use inherits to share common behavior or structure:



10. Overlayers and Opinions


Overlayers are used to add/modify data at runtime or during layout. USD resolves opinions hierarchically:

  • Opinions at the strongest layer win.

  • You can override transforms, attributes, relationships.



11. Scene Modularity and Composition Best Practices


  • Modularize assets by task (model, lookdev, anim).

  • Use references for shared data.

  • Use sublayers for contextual changes.

  • Minimize overrides to avoid confusion.



12. Real-World Examples and Pipelines


  • Asset authoring: Modeler creates model.usda

  • Lookdev: Shader artist adds lookdev.usda as sublayer

  • Shot layout: Layout adds camera and edits in override.usda



13. Composing Assets Across Departments


Each department contributes a layer:

  • Modeling: /Model/model.usda

  • Rigging: /Rig/rig.usda

  • Animation: /Anim/anim.usda

  • Shading: /Look/look.usda

  • Shot edits: /Shots/shot001/override.usda

Final shot composition:




14. Live Layer Editing and Authoring


You can author changes directly to USD layers interactively:



Stage will update in real-time.



15. Debugging and Visualizing Composition


Tools:

  • usdview: View composed scene.

  • UsdUtils.compositionQuery: Inspect arcs.

  • Usd.ResolveInfo: See why an opinion is winning.



16. Composition Arcs in Action: Case Studies


Example: Changing shaders on an asset via variants without changing the base model.

  • Base layer defines model.

  • Variant layer swaps material.



17. USD in Action: DCC Tools and Composition Behavior


ree

  • Maya: Maya-USD plugin honors composition.

  • Houdini: LOPs allow precise control of layers.

  • Katana: Composition resolved at render time.



18. Performance Considerations


  • Use payloads for heavy geometry.

  • Minimize sublayering depth.

  • Use instancing where possible.

  • Flatten layers only when necessary.



19. Advanced Composition Patterns


  • Variant-driven material assignments

  • Light rigs with class-based inheritance

  • Shot templates with override sublayers



20. Wrapping Up


USD Composition enables modular, scalable workflows that empower collaboration and large-scale scene assembly. Mastering composition unlocks the full potential of USD in your pipeline.

If you're building tools, managing assets, or laying out shots, understanding composition is your key to unlocking clean, collaborative, and production-friendly USD scenes.

Stay tuned for the next post in the series, where we’ll dive into USD Primitives and Geometries.









 
 
 

Comments


Contact me

so we can create creative & technical projects together
  • Github
  • LinkedIn
  • Instagram
  • Vimeo
  • YouTube
Join my mailing list

Thanks for submitting!

© 2023 by Dilen Shah

bottom of page