<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 13.1.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CarPlay",
  "identifier" : "/documentation/CarPlay/CPSessionConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "CarPlay"
    ],
    "preciseIdentifier" : "c:objc(cs)CPSessionConfiguration"
  },
  "title" : "CPSessionConfiguration"
}
-->

# CPSessionConfiguration

An object that provides vehicle properties and configuration for the CarPlay environment.

```
class CPSessionConfiguration
```

## Overview

You use a session configuration to determine any user interface limits the vehicle imposes, such as keyboard display and list length, and the content style the vehicle selects according to the ambient light level.

## Topics

### Creating a Session Configuration

[`-  initWithDelegate:`](/documentation/CarPlay/CPSessionConfiguration/init(delegate:))

Creates a session configuration with a delegate.

[`CPSessionConfigurationDelegate`](/documentation/CarPlay/CPSessionConfigurationDelegate)

A protocol for receiving notifications about changes to vehicle properties and configuration.

### Managing the Delegate

[`delegate`](/documentation/CarPlay/CPSessionConfiguration/delegate)

An object that serves as the delegate to the session configuration.

### Getting the Content Style

[`contentStyle`](/documentation/CarPlay/CPSessionConfiguration/contentStyle)

The content style that the vehicle selects.

[`CPContentStyle`](/documentation/CarPlay/CPContentStyle)

The types of content style that the vehicle allows.

### Getting the Limits

[`limitedUserInterfaces`](/documentation/CarPlay/CPSessionConfiguration/limitedUserInterfaces)

A bit mask value that indicates the user interface limits.

[`CPLimitableUserInterface`](/documentation/CarPlay/CPLimitableUserInterface)

The types of limitable user interface elements.

## Relationships

### Conforms To

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

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

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

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

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

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

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)