<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "swift: 5.9.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftData",
  "identifier" : "/documentation/SwiftData/ModelConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "SwiftData"
    ],
    "preciseIdentifier" : "s:9SwiftData18ModelConfigurationV"
  },
  "title" : "ModelConfiguration"
}
-->

# ModelConfiguration

A type that describes the configuration of an app’s schema or specific group of models.

```
struct ModelConfiguration
```

## Topics

### Creating a model configuration

[`init(isStoredInMemoryOnly:)`](/documentation/SwiftData/ModelConfiguration/init(isStoredInMemoryOnly:))

Creates a basic model configuration.

[`init(for:isStoredInMemoryOnly:)`](/documentation/SwiftData/ModelConfiguration/init(for:isStoredInMemoryOnly:))

Creates a model configuration for the specified model types.

[`init(_:schema:isStoredInMemoryOnly:allowsSave:groupContainer:cloudKitDatabase:)`](/documentation/SwiftData/ModelConfiguration/init(_:schema:isStoredInMemoryOnly:allowsSave:groupContainer:cloudKitDatabase:))

Creates a named model configuration for the specified schema.

[`init(_:schema:url:allowsSave:cloudKitDatabase:)`](/documentation/SwiftData/ModelConfiguration/init(_:schema:url:allowsSave:cloudKitDatabase:))

Creates a named model configuration that specifies the on-disk location of the
schema’s persistent storage.

### Accessing configuration details

[`url`](/documentation/SwiftData/ModelConfiguration/url)

The on-disk location of the schema’s persistent storage.

[`allowsSave`](/documentation/SwiftData/ModelConfiguration/allowsSave)

A Boolean value that determines whether the associated persistent storage is
writable.

[`isStoredInMemoryOnly`](/documentation/SwiftData/ModelConfiguration/isStoredInMemoryOnly)

A Boolean value that determines whether the associated persistent storage is
ephemeral and exists only in memory.

### Managing schema information

### Sharing and syncing the model store

[`cloudKitContainerIdentifier`](/documentation/SwiftData/ModelConfiguration/cloudKitContainerIdentifier)

The identifier of the configuration’s CloudKit database container.

[`cloudKitDatabase`](/documentation/SwiftData/ModelConfiguration/cloudKitDatabase-swift.property)

The option to use when detecting the container of the preferred CloudKit
database.

[`ModelConfiguration.CloudKitDatabase`](/documentation/SwiftData/ModelConfiguration/CloudKitDatabase-swift.struct)

A type that describes the options for detecting a CloudKit database.

[`groupAppContainerIdentifier`](/documentation/SwiftData/ModelConfiguration/groupAppContainerIdentifier)

The identifier of the configuration’s app group container.

[`groupContainer`](/documentation/SwiftData/ModelConfiguration/groupContainer-swift.property)

The option to use when detecting the preferred app group container.

[`ModelConfiguration.GroupContainer`](/documentation/SwiftData/ModelConfiguration/GroupContainer-swift.struct)

A type that describes the options for detecting an app group container.

### Hashing

### Comparing model configurations



---

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)