A handle to a prim definition stored in a layer.
`USDPrim.Spec` is a struct but acts as a handle into data owned by a
``USDLayer``, much like ``USDPrim`` is a handle into a ``USDStage``.
Mutations write through to the layer rather than to the spec value
itself, so property setters and methods on this type are non-mutating.
func insertChild(_ child: USDPrim.Spec, at index: Int)
Inserts `child` into the children list at `index`.
- Parameters:
- child: The child prim spec to insert.
- index: The position at which to insert. Traps on out-of-range index.
static · iOS 27.0+
isValidName
TypeScript
static isValidName(name: USDToken): boolean
Swift declaration
static func isValidName(_ name: USDToken) -> Bool
Returns a Boolean value that indicates whether `name` is a valid
prim name.
- Parameter name: The candidate name.
- Returns: `true` if `name` is a valid prim name; otherwise, `false`.
Returns the relationship spec at the given path within this prim.
- Parameter path: The path to look up.
- Returns: The relationship spec, or `nil` if none exists at `path`.
method · iOS 27.0+
setAssetInfo
TypeScript
setAssetInfo(key: string, value: USDValue): void
Swift declaration
func setAssetInfo(_ key: String, to value: USDValue)
Sets `key` in the asset info dictionary to `value`.
- Parameters:
- key: The dictionary key.
- value: The new value.
Returns the variant names available in the given variant set.
- Parameter setName: The variant set name.
- Returns: The variant names defined in `setName`.
get · iOS 27.0+
childrenOrder
TypeScript
get childrenOrder(): (Array<USDToken>) | null
Swift declaration
var childrenOrder: [USDToken]? { get nonmutating set }
The authored override for child ordering, or `nil` if no order is
authored. When non-nil, this list controls the order in which child
prim specs appear during composition.
set · iOS 27.0+
childrenOrder
TypeScript
set childrenOrder(value: (Array<USDToken>) | null)
Swift declaration
var childrenOrder: [USDToken]? { get nonmutating set }
The authored override for child ordering, or `nil` if no order is
authored. When non-nil, this list controls the order in which child
prim specs appear during composition.
method · iOS 27.0+
clearInherits
TypeScript
clearInherits(): void
Swift declaration
func clearInherits()
Clears all authored inherit paths on this prim.
method · iOS 27.0+
clearPayloads
TypeScript
clearPayloads(): void
Swift declaration
func clearPayloads()
Clears all authored payloads on this prim.
get · iOS 27.0+
documentation
TypeScript
get documentation(): (string) | null
Swift declaration
var documentation: String? { get nonmutating set }
The authored documentation, or `nil` if not authored.
set · iOS 27.0+
documentation
TypeScript
set documentation(value: (string) | null)
Swift declaration
var documentation: String? { get nonmutating set }
The authored documentation, or `nil` if not authored.
get · iOS 27.0+
propertyOrder
TypeScript
get propertyOrder(): (Array<USDToken>) | null
Swift declaration
var propertyOrder: [USDToken]? { get nonmutating set }
The authored override for property ordering, or `nil` if no order is
authored.
set · iOS 27.0+
propertyOrder
TypeScript
set propertyOrder(value: (Array<USDToken>) | null)
Swift declaration
var propertyOrder: [USDToken]? { get nonmutating set }
The authored override for property ordering, or `nil` if no order is
authored.
get · iOS 27.0+
relationships
TypeScript
get relationships(): Array<USDPrim_Relationship_Spec>
Swift declaration
var relationships: [USDPrim.Relationship.Spec] { get }
All relationship specs on this prim.
method · iOS 27.0+
setCustomData
TypeScript
setCustomData(key: string, value: USDValue): void
Swift declaration
func setCustomData(_ key: String, to value: USDValue)
Sets `key` in the custom data dictionary to `value`.
- Parameters:
- key: The dictionary key.
- value: The new value.
get · iOS 27.0+
symmetricPeer
TypeScript
get symmetricPeer(): (string) | null
Swift declaration
var symmetricPeer: String? { get nonmutating set }
The symmetric peer path, or `nil` if not authored.
set · iOS 27.0+
symmetricPeer
TypeScript
set symmetricPeer(value: (string) | null)
Swift declaration
var symmetricPeer: String? { get nonmutating set }
The symmetric peer path, or `nil` if not authored.
method · iOS 27.0+
clearAssetInfo
TypeScript
clearAssetInfo(key: string): void
Swift declaration
func clearAssetInfo(_ key: String)
Removes `key` from the asset info dictionary.
- Parameter key: The dictionary key to clear.
method · iOS 27.0+
clearRelocates
TypeScript
clearRelocates(): void
Swift declaration
func clearRelocates()
Clears all authored relocates on this prim.
get · iOS 27.0+
isInstanceable
TypeScript
get isInstanceable(): (boolean) | null
Swift declaration
var isInstanceable: Bool? { get nonmutating set }
Whether this prim is marked as an instance, or `nil` if not authored.
set · iOS 27.0+
isInstanceable
TypeScript
set isInstanceable(value: (boolean) | null)
Swift declaration
var isInstanceable: Bool? { get nonmutating set }
Whether this prim is marked as an instance, or `nil` if not authored.
Returns the authored variant selection for the given variant set.
- Parameter setName: The variant set to query.
- Returns: The authored variant name, or `nil` if not authored.
get · iOS 27.0+
symmetryArguments
TypeScript
get symmetryArguments(): Record<string, USDValue>
Swift declaration
var symmetryArguments: Dictionary<String, USDValue> { get }
The symmetry arguments dictionary authored on this prim.
get · iOS 27.0+
variantSelections
TypeScript
get variantSelections(): NativeMap<USDToken, USDToken>
Swift declaration
var variantSelections: [USDToken : USDToken] { get }
All authored variant selections, keyed by variant set name.
get · iOS 27.0+
prefixSubstitutions
TypeScript
get prefixSubstitutions(): Record<string, USDValue>
Swift declaration
var prefixSubstitutions: Dictionary<String, USDValue> { get nonmutating set }
The prefix substitutions dictionary.
set · iOS 27.0+
prefixSubstitutions
TypeScript
set prefixSubstitutions(value: Record<string, USDValue>)
Swift declaration
var prefixSubstitutions: Dictionary<String, USDValue> { get nonmutating set }
Returns the prim spec at the given path within this prim.
- Parameter path: The path to look up.
- Returns: The prim spec, or `nil` if none exists at `path`.
Returns the spec at the given path within this prim.
- Parameter path: The path to look up.
- Returns: The spec, or `nil` if no spec is authored at `path`.
Returns the property spec at the given path within this prim.
- Parameter path: The path to look up.
- Returns: The property spec, or `nil` if none exists at `path`.
get · iOS 27.0+
typeName
TypeScript
get typeName(): USDToken
Swift declaration
var typeName: USDToken { get nonmutating set }
The prim's type name.
set · iOS 27.0+
typeName
TypeScript
set typeName(value: USDToken)
Swift declaration
var typeName: USDToken { get nonmutating set }
The prim's type name.
get · iOS 27.0+
assetInfo
TypeScript
get assetInfo(): Record<string, USDValue>
Swift declaration
var assetInfo: Dictionary<String, USDValue> { get }
Returns the attribute spec at the given path within this prim.
- Parameter path: The path to look up.
- Returns: The attribute spec, or `nil` if none exists at `path`.
get · iOS 27.0+
relocates
TypeScript
get relocates(): (NativeMap<USDLayer_Path, USDLayer_Path>) | null
Swift declaration
var relocates: USDLayer.RelocatesMap? { get nonmutating set }
The relocates map authored on this prim, or `nil` if none authored.
set · iOS 27.0+
relocates
TypeScript
set relocates(value: (NativeMap<USDLayer_Path, USDLayer_Path>) | null)
Swift declaration
var relocates: USDLayer.RelocatesMap? { get nonmutating set }
The relocates map authored on this prim, or `nil` if none authored.
get · iOS 27.0+
specifier
TypeScript
get specifier(): USDPrim_Specifier
Swift declaration
var specifier: USDPrim.Specifier { get nonmutating set }
How this prim definition composes — `def`, `over`, or `class`.
set · iOS 27.0+
specifier
TypeScript
set specifier(value: USDPrim_Specifier)
Swift declaration
var specifier: USDPrim.Specifier { get nonmutating set }
How this prim definition composes — `def`, `over`, or `class`.
Widens a `USDPrim.PseudoRootSpec` into a generic `USDPrim.Spec`,
exposing the full prim-spec API (children, properties, metadata).
- Parameter pseudoRoot: The pseudo-root spec to widen.