Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Universal Scene Description (USD)

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Universal Scene Description (USD)
Description

Universal Scene Description (USD), as stated on the Pixar official USD website, openusd.org (referenced throughout this document), is an open-source framework “for encoding scalable, hierarchically organized, static and time-sampled data, for the primary purpose of interchanging and augmenting the data between cooperating digital content creation (DCC) applications...Its primary function is to compose together scene description spread across many files (or other data sources) in many different formats to present a single hierarchical scenegraph view of the data...USD files can interchange geometry, shading/materials, lights, rendering, linear-blend skinning and blend-shape animation, rigid body physics, and is extensible along numerous axes.”

The USD project, initiated in 2012, was developed by combining two of Pixar's previous animation systems, Presto’s proprietary composition engine and TidScene’s lightweight scenegraph. In 2016, Pixar Animation Studios, subsidiary of The Walt Disney Company, announced the official open-source release of USD, providing a “toolset for reading, writing, editing, and rapidly previewing 3D scene data.” The USD website offers more information about USD technology, USD API documentation, tutorials, FAQs, and more.

Structure of USD:

As described in the USD documentation, USD organizes data into hierarchical Prims (Primitives), where each Prim can contain child prim(s), as well as Attributes and Relationships (Properties). Prims and contents are organized into scene description containers or Layers. Composition is the process of assembling the multiple layers together, using composition arcs, resulting in Stage scenegraph of all the referenced/layered files it composes.

USD provides low-level data model specifying how data is encoded and organized, plus a set of high-level schemas that provide API’s and concept organization (mesh, transform, etc). Also, USD provides combinable Composition Arcs used to package, aggregate, vary, and override primitive elements and assets.

USD Architectural Overview:

USD is divided into four “core” packages, 3rd-party plugins, and extras. Base and USD packages are required.

base: contains application foundation modules, such as implementation for different operating systems, tools, and plugins.

usd: contains modules relating to authoring, reading, and composing a universal scene description. In low-to-high order, some key modules include:

  • Scene Description Foundations (Sdf): module defining USD data model – prims, attributes, relationships, meta-data, attribute types. Provides primitive abstractions for interacting with scene description, such as SdfPath, SdfLayer, SdfPrimSpec. Implements scene description Layers in USD.
  • Universal Scene Description (Usd): core client-facing module that builds the USD scene graph (UsdStage), primary authoring and reading composed scene description. Key Classes include:
    • UsdStage: the interface to a specific SdfLayer, interpreting the data through composition rules – informing UsdStage which UsdPrim should be populated on the stage. Primary purpose – create and maintain a scenegraph of UsdPrim enabling scene traversal, data extraction, and authoring.
      • SdfLayer: provides interface to a container of scene description consisting of prims, attributes, relationships, user-metadata, and composition operators.
    • UsdPrim: primary object used to interact with composed scene description, represents a unique “namespace location” in hierarchical composition on a UsdStage.
    • UsdAttribute: scenegraph object for authoring and retrieving numeric, string, and array valued data, sampled over time. Allowed value types are dictated by Sdf core’s data model.
    • UsdRelationship: pointer to other objects, creates dependencies between scenegraph objects, allows a prim to target other prims, attributes, or relationships.
  • UsdGeom: primary graphics-supporting schema, provides geometric primitives (mesh, curves, patches, etc), camera schemas, and primvars.
  • UsdPhysics: primary physics-supporting schema, provides physics descriptions for USD prims (rigid bodies, joints, scenes, collisions, etc) and defines physic related metrics.
  • UsdShade: defines Looks, Shaders, connectible Parameters. Prescribes how geometry is bound.

imaging: contains embeddable Hydra hardware renderer and other imaging-related services.

usdImaging: ties usd and Hydra together. Defines plugin interface.

third-party: contains USD plugins.

extras: contains tutorials, sample code, and small example.

Uses of USD:

The USD website states USD is for “collaboratively constructing animated 3D scenes, designed to meet the needs of large-scale film and visual effects production." Also, USD is used throughout Pixar's graphics pipeline with the software being used in every 3D authoring and rendering application.

According to Rev Lebaredian and Michael Kass in Universal Scene Description as the Language of the Metaverse, August 2022, “The most fundamental standard needed to create the metaverse is the description of a virtual world. At NVIDIA, we believe the first version of the standard already exist. It is Universal Scene Description (USD)...USD is now being used in a wide range of industries not only in media and entertainment, but also spanning architecture, engineering, design, manufacturing, retail, computing, and robotics.”

Production phase Across all areas of production. USD provides toolset for reading, writing, editing, and previewing 3D geometry, shading, lighting, physics, and other graphic-related domains.
Relationship to other formats
    Used by USDZ, Universal Scene Description Zipped (USDZ)

Local use Explanation of format description terms

LC experience or existing holdings The Library of Congress has a small number of USD files in its collections.
LC preference See the Recommended Formats Statement for the Library of Congress format preferences for Design and 3D formats.

Sustainability factors Explanation of format description terms

Disclosure USD is an open-source project, distributed by Pixar Animation Studios.
    Documentation

The official USD website, openusd.org, provides user documentation, tutorials, API Documentation, and other useful information including the UsdPreviewSurface Specification.

Pixar USDZ File Format Specification. Pixar designed an archive format that contains and proxies for files of other formats embedded within the archive, assigning the usdz extension. See also USDZ.

Adoption

USD has been widely adopted by software developers, 3D artists, game designers, and AR developers. Most 3D application support the USD format, including Maya, 3ds Max, Cinema 4D, ZBrush, Nvidia Omniverse, Blender, and Houdini. See Products Using USD for more information.

    Licensing and patents USD is released under a modified Apache license.
Transparency

USD files created with the plain .usd extension can be either binary (.usdc) or text (usda) file. The .usda file format encodes text as UTF-8. USD-readable files (.usda) can be edited in the text-editor of the user’s choice.

USD Tutorials, Converting Between Layer Formats, states "when USD opens a .usd file, it detects the underlying format and handles the file appropriately. Users can convert any .usda or .usdc to a .usd file by renaming the file."

Key component to USD project is Hydra, a scalable rendering architecture, that ships with the project and provides user reference.

USD Manager is an open-source, Python-based Qt program designed for lightweight browsing, managing, and editing USD files, as well as some other editors that are available to edit USD files.

Self-documentation

USD stages, prims, attributes, and objects can contain metadata. Metadata is set at the level where is applies, i.e.. metadata that affects whole stage is set at stage level and affects all prims in it, metadata specific to a single prim is set to that particular prim.

USD defines metadata using the following properties:

  • Metadata is strongly typed.
  • Metadata is extensible.
  • Metadata is unvarying.
  • Core metadata resolution rules vary.
External dependencies

None beyond software capable of reading, writing, and rendering USD files.

Comments welcome.

Technical protection considerations

IANA Regulations states “The USD format provides no privacy or integrity services. Users wishing to provide such services externally can do so using available security protocols such as SSL/TLS. No exhaustive security audit has been performed on the usda format; however, all CVE issues discovered by Talos relating to the canonical implementation of USD hosted by Pixar as noted below have been addressed, current as of 8/2022.”

Comments welcome.


Quality and functionality factors Explanation of format description terms

Other
3D Model Geometry

USD supports geometry primitives including mesh, patch, curves, points, capsule, cone, cube, cylinder, and sphere.

Comments welcome.

3D Model Appearance

USD uses an advanced texturing based on Physically Based Rendering (PBR). The texturing technique demonstrates a more correct version of the interaction between light and object surfaces, making models look more realistic. PBR uses a set of maps, each responsible for their own aspect of the display.

USD tutorials, Simple Shading in USD, states "in USD, we 'bind' geometry to Material prims in order to customize how the geometry should be shaded... Complex models will define multiple materials, binding different geometry (Gprims) to different Materials."

Comments welcome.

3D Model Scene

USD supports materials that define lighting response/physics characteristics. UsdLux Schema includes common light types, light attributes, and light behavior, while UsdGeomCamera encodes a transformable camera that describes optical properties, and common attributes.

Comments welcome.

3D Model Animation

USD supports Rigid Body Simulations that can be used to generate animations.

Comments welcome.


File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension usd
Either binary or text format. See https://graphics.pixar.com/usd/release/usdfaq.html#so-what-file-formats-does-usd-support.
Filename extension usda
Human-readable UTF-8 text. See https://graphics.pixar.com/usd/release/usdfaq.html#so-what-file-formats-does-usd-support.
Filename extension usdc
Random-access "Crate" binary. See https://graphics.pixar.com/usd/release/usdfaq.html#so-what-file-formats-does-usd-support.
Filename extension See related format.  See also Universal Scene Description Zipped (USDZ).
Internet Media Type model/vnd.usda
See https://www.iana.org/assignments/media-types/model/vnd.usda.
Internet Media Type See related format.  See also Universal Scene Description Zipped (USDZ).
Magic numbers #usda MAJOR.MINOR
At byte zero (BOF). See https://www.iana.org/assignments/media-types/model/vnd.usda.
Magic numbers Hex: 23 75 73 64 61 20 31 2E
ASCII: #usda 1.
Universal Scene Description ASCII File. From byte zero (BOF). See https://www.nationalarchives.gov.uk/PRONOM/fmt/1905.
Other See note.  NARA File Format Preservation Plan ID has no corresponding entry as of February 2025.
Pronom PUID fmt/1905
See https://www.nationalarchives.gov.uk/PRONOM/fmt/1905
Wikidata Title ID Q60997373
Universal Scene Description - 3D Standard created by Pixar. See https://www.wikidata.org/wiki/Q60997373.
Wikidata Title ID Q105856757
Universal Scene Description (ASCII). See https://www.wikidata.org/wiki/Q105856757.

Notes Explanation of format description terms

General  
History

As described on Pixar’s Heritage of USD at Pixar, USD is roughly the fourth generation of “composed scene description” developed at Pixar. The USD project, initiated in 2012, mandated to marry the composition engine and low-level data model from Presto with the lazy-access, time-sampled data model and lightweight scenegraph from TidScene.


Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 02/03/2025