A USD layer — the fundamental unit of composition in OpenUSD, representing a file or in-memory container for scene description data including prim specs, property specs, and composition arcs.
USDLayer is a JSON Structure definition published by Alliance for OpenUSD, describing 12 properties, of which 1 is required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/aousd/refs/heads/main/json-structure/aousd-usd-layer-structure.json",
"description": "A USD layer \u2014 the fundamental unit of composition in OpenUSD, representing a file or in-memory container for scene description data including prim specs, property specs, and composition arcs.",
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "The unique identifier (path or URI) for this layer.",
"example": "/assets/characters/hero/hero.usda"
},
"realPath": {
"type": "string",
"description": "The resolved filesystem path for this layer.",
"example": "/studio/assets/characters/hero/hero.usda"
},
"fileFormat": {
"type": "string",
"description": "The file format identifier for this layer.",
"enum": [
"usda",
"usdb",
"usd",
"usdz"
],
"example": "usda"
},
"defaultPrim": {
"type": "string",
"description": "The default prim path to use when referencing this layer.",
"example": "Hero"
},
"startTimeCode": {
"type": "double",
"description": "The start time code for the layer's time-sampled data.",
"example": 1.0
},
"endTimeCode": {
"type": "double",
"description": "The end time code for the layer's time-sampled data.",
"example": 240.0
},
"framesPerSecond": {
"type": "double",
"description": "Frames per second for time code interpretation.",
"example": 24.0
},
"timeCodesPerSecond": {
"type": "double",
"description": "Time codes per second (usually matches framesPerSecond).",
"example": 24.0
},
"metersPerUnit": {
"type": "double",
"description": "Scene scale in meters per USD unit.",
"example": 0.01
},
"upAxis": {
"type": "string",
"enum": [
"Y",
"Z"
],
"description": "The up axis convention for the scene.",
"example": "Y"
},
"documentation": {
"type": "string",
"description": "Human-readable documentation for the layer.",
"example": "Hero character asset for production."
},
"subLayerPaths": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ordered list of sublayer paths composed by this layer.",
"example": [
"/assets/characters/hero/hero_rig.usda",
"/assets/characters/hero/hero_model.usda"
]
}
},
"required": [
"identifier"
],
"name": "USDLayer"
}