<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macCatalyst: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/Entity/ConfigurationCatalog/ConfigurationSet",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation6EntityC20ConfigurationCatalogV0D3SetV"
  },
  "title" : "Entity.ConfigurationCatalog.ConfigurationSet"
}
-->

# Entity.ConfigurationCatalog.ConfigurationSet

A collection of alternatives to choose from.

```
struct ConfigurationSet
```

## Overview

For example, a configuration set might contain configurations named `small`, `medium`,
and `big` to represent a choice of sizes.

## Topics

### Creating a configuration set

[`init(id: String, configurations: [Entity.ConfigurationCatalog.Configuration], defaultConfigurationId: String?) throws`](/documentation/RealityKit/Entity/ConfigurationCatalog/ConfigurationSet/init(id:configurations:defaultConfigurationId:)-5erwz)

Creates a configuration set from an ID, an array of configurations, and a default
configuration ID.

[`init(id: String, configurations: [Entity.ConfigurationCatalog.Configuration], defaultConfigurationId: String?) throws`](/documentation/RealityKit/Entity/ConfigurationCatalog/ConfigurationSet/init(id:configurations:defaultConfigurationId:)-5erwz)

Creates a configuration set from an ID, an array of configurations, and a default
configuration ID.

### Accessing a configuration set’s name

[`var id: String`](/documentation/RealityKit/Entity/ConfigurationCatalog/ConfigurationSet/id)

A name that identifies the configuration set.

### Accessing configurations in a configuration set

[`var configurations: [String : Entity.ConfigurationCatalog.Configuration]`](/documentation/RealityKit/Entity/ConfigurationCatalog/ConfigurationSet/configurations)

The alternative configurations that are available in a set.

[`var defaultConfiguration: Entity.ConfigurationCatalog.Configuration`](/documentation/RealityKit/Entity/ConfigurationCatalog/ConfigurationSet/defaultConfiguration)

The default configuration, if you don’t explicitly set one.

### Initializers

[`init(id:configurations:defaultConfigurationId:)`](/documentation/RealityKit/Entity/ConfigurationCatalog/ConfigurationSet/init(id:configurations:defaultConfigurationId:))

Creates a configuration set from an ID, an array of configurations, and a default
configuration ID.

## Relationships

### Conforms To

[`Identifiable`](/documentation/Swift/Identifiable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)