---
title: USDPrim
framework: usdkit
role: symbol
role_heading: Structure
path: usdkit/usdprim
---

# USDPrim

A single node in a stage’s scene hierarchy that holds attributes, relationships, metadata, and child prims.

## Declaration

```swift
struct USDPrim
```

## Topics

### Creating a prim

- [init()](usdkit/usdprim/init().md)
- [init(_:)](usdkit/usdprim/init(_:).md)

### Identifying the prim

- [path](usdkit/usdprim/path.md)
- [primPath](usdkit/usdprim/primpath.md)
- [isValid](usdkit/usdprim/isvalid.md)
- [specifier](usdkit/usdprim/specifier-swift.property.md)
- [stage](usdkit/usdprim/stage.md)
- [parent](usdkit/usdprim/parent.md)
- [description](usdkit/usdprim/description.md)
- [USDPrim.Specifier](usdkit/usdprim/specifier-swift.enum.md)

### Traversing the hierarchy

- [children](usdkit/usdprim/children.md)
- [allChildren](usdkit/usdprim/allchildren.md)
- [descendants](usdkit/usdprim/descendants.md)
- [allDescendants](usdkit/usdprim/alldescendants.md)
- [nextSibling](usdkit/usdprim/nextsibling.md)
- [children(where:)](usdkit/usdprim/children(where:).md)
- [descendants(where:)](usdkit/usdprim/descendants(where:).md)
- [nextSibling(where:)](usdkit/usdprim/nextsibling(where:).md)
- [prim(at:)](usdkit/usdprim/prim(at:).md)
- [USDPrim.Predicate](usdkit/usdprim/predicate.md)

### Accessing properties

- [properties](usdkit/usdprim/properties.md)
- [authoredProperties](usdkit/usdprim/authoredproperties.md)
- [propertyNames](usdkit/usdprim/propertynames.md)
- [authoredPropertyNames](usdkit/usdprim/authoredpropertynames.md)
- [property(named:)](usdkit/usdprim/property(named:).md)
- [hasProperty(named:)](usdkit/usdprim/hasproperty(named:).md)
- [object(at:)](usdkit/usdprim/object(at:).md)
- [USDPrim.Property](usdkit/usdprim/property.md)

### Accessing attributes

- [attributes](usdkit/usdprim/attributes.md)
- [authoredAttributes](usdkit/usdprim/authoredattributes.md)
- [attribute(named:)](usdkit/usdprim/attribute(named:).md)
- [attribute(at:)](usdkit/usdprim/attribute(at:).md)
- [hasAttribute(named:)](usdkit/usdprim/hasattribute(named:).md)
- [makeAttribute(named:as:custom:variability:)](usdkit/usdprim/makeattribute(named:as:custom:variability:).md)
- [subscript(_:as:)](usdkit/usdprim/subscript(_:as:).md)
- [USDPrim.Attribute](usdkit/usdprim/attribute.md)

### Accessing relationships

- [relationship(named:)](usdkit/usdprim/relationship(named:).md)
- [relationship(at:)](usdkit/usdprim/relationship(at:).md)
- [hasRelationship(named:)](usdkit/usdprim/hasrelationship(named:).md)
- [USDPrim.Relationship](usdkit/usdprim/relationship.md)

### Composing references and payloads

- [references](usdkit/usdprim/references.md)
- [USDPrim.Reference](usdkit/usdprim/reference.md)
- [USDPrim.ReferenceCollection](usdkit/usdprim/referencecollection.md)
- [USDPrim.Payload](usdkit/usdprim/payload.md)
- [USDPrim.ListPosition](usdkit/usdprim/listposition.md)

### Authoring variants

- [USDPrim.VariantSpec](usdkit/usdprim/variantspec.md)
- [USDPrim.VariantSetSpec](usdkit/usdprim/variantsetspec.md)
- [USDPrim.VariantsMap](usdkit/usdprim/variantsmap.md)
- [USDPrim.VariantSelectionMap](usdkit/usdprim/variantselectionmap.md)

### Applying schemas and transforms

- [applyAPISchema(_:)](usdkit/usdprim/applyapischema(_:).md)
- [applyAPISchema(_:instanceName:)](usdkit/usdprim/applyapischema(_:instancename:).md)
- [addTransformOperation(type:)](usdkit/usdprim/addtransformoperation(type:).md)

### Working with scene-description specs

- [USDPrim.Spec](usdkit/usdprim/spec.md)
- [USDPrim.PseudoRootSpec](usdkit/usdprim/pseudorootspec.md)

### Default Implementations

- [CustomStringConvertible Implementations](usdkit/usdprim/customstringconvertible-implementations.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [USDStage.Object.MetadataCollection](usdkit/usdstage-4sfi1/object/metadatacollection.md)

## See Also

### Essentials

- [USDStage](usdkit/usdstage-4sfi1.md)
- [USDLayer](usdkit/usdlayer.md)
