---
title: USDPrim.VariantSet
framework: usdkit
role: symbol
role_heading: Structure
platforms: [iOS 27.0+, iPadOS 27.0+, Mac Catalyst 27.0+, macOS 27.0+, tvOS 27.0+, visionOS 27.0+]
path: usdkit/usdprim/variantset
---

# USDPrim.VariantSet

Represents a single variant set on a prim.

## Declaration

```swift
struct VariantSet
```

## Overview

Overview USDPrim.VariantSet provides methods to add variants, query available variants, and control which variant is currently selected. Each variant set contains named variants that represent different configurations of the prim’s data.

## Topics

### Instance Properties

- [authoredSelection](usdkit/usdprim/variantset/authoredselection.md)
- [isValid](usdkit/usdprim/variantset/isvalid.md)
- [name](usdkit/usdprim/variantset/name.md)
- [prim](usdkit/usdprim/variantset/prim.md)
- [selection](usdkit/usdprim/variantset/selection.md)
- [variantNames](usdkit/usdprim/variantset/variantnames.md)

### Instance Methods

- [add(_:)](usdkit/usdprim/variantset/add(_:).md)
- [blockSelection()](usdkit/usdprim/variantset/blockselection().md)
- [clearSelection()](usdkit/usdprim/variantset/clearselection().md)
- [setSelection(_:)](usdkit/usdprim/variantset/setselection(_:).md)
- [withEditTarget(layer:_:)](usdkit/usdprim/variantset/withedittarget(layer:_:).md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
