---
title: "init(controller:snapshotData:)"
framework: gamecontroller
role: symbol
role_heading: Initializer
path: "gamecontroller/gcextendedgamepadsnapshot/init(controller:snapshotdata:)"
---

# init(controller:snapshotData:)

Initializes a snapshot object associated with a specific controller using a flattened data representation obtained from another snapshot.

## Declaration

```swift
init(controller: GCController, snapshotData data: Data)
```

## Parameters

- `controller`: The controller to associate the snapshot with.
- `data`: A data object that contains snapshot data.

## Return Value

Return Value A new snapshot object.

## Discussion

Discussion The data format for a snapshot is private. Your snapshot object should only be created from flattened data previously obtained from an extended snapshot.

## See Also

### Converting Between Extended Snapshots and Data Objects

- [init(snapshotData:)](gamecontroller/gcextendedgamepadsnapshot/init(snapshotdata:).md)
- [snapshotData](gamecontroller/gcextendedgamepadsnapshot/snapshotdata.md)
