---
title: "start(attributes:)"
framework: nowplaying
role: symbol
role_heading: Type Method
path: "nowplaying/remotemediasession/start(attributes:)"
---

# start(attributes:)

Starts a new remote session with the specified attributes.

## Declaration

```swift
@MainActor static func start(attributes: Attributes) async throws -> RemoteMediaSession<Attributes>
```

## Parameters

- `attributes`: The attributes that configure the session.

## Return Value

Return Value A remote session instance.

## Discussion

Discussion This method registers a session. The attributes are encoded and sent to your app extension, which creates the actual session using your RemoteMediaSessionExtension conformance. note: RemoteMediaSessionError.internalFailure if the system couldn’t register the session. Also throws an encoding error if attributes isn’t encodable.
