---
title: GCExtendedGamepadSnapshot
framework: gamecontroller
role: symbol
role_heading: Class
path: gamecontroller/gcextendedgamepadsnapshot
---

# GCExtendedGamepadSnapshot

A recording of all of the values provided by a GCExtendedGamepad object.

## Declaration

```swift
class GCExtendedGamepadSnapshot
```

## Overview

Overview To create a gamepad snapshot, call the saveSnapshot() method on a GCExtendedGamepad object. The GCExtendedGamepadSnapshot class is a subclass of the GCExtendedGamepad class, so you use the parent class’s properties to read the individual element values. The snapshot is stored in a device independent format. To get the flattened data representation of the snapshot data, read the snapshotData property.

## Topics

### Converting Between Extended Snapshots and Data Objects

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

### Flattening a Snapshot to Memory

- [GCExtendedGamepadSnapShotDataV100](gamecontroller/gcextendedgamepadsnapshotdatav100.md)
- [NSDataFromGCExtendedGamepadSnapShotDataV100(_:)](gamecontroller/nsdatafromgcextendedgamepadsnapshotdatav100(_:).md)
- [GCExtendedGamepadSnapShotDataV100FromNSData(_:_:)](gamecontroller/gcextendedgamepadsnapshotdatav100fromnsdata(_:_:).md)

## Relationships

### Inherits From

- [GCExtendedGamepad](gamecontroller/gcextendedgamepad.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Deprecated symbols

- [GCGamepad](gamecontroller/gcgamepad.md)
- [GCGamepadSnapshot](gamecontroller/gcgamepadsnapshot.md)
- [GCMicroGamepadSnapshot](gamecontroller/gcmicrogamepadsnapshot.md)
- [GCExtendedGamepadSnapshotData](gamecontroller/gcextendedgamepadsnapshotdata.md)
- [GCMicroGamepadSnapshotData](gamecontroller/gcmicrogamepadsnapshotdata.md)
- [GCExtendedGamepadSnapshotDataVersion](gamecontroller/gcextendedgamepadsnapshotdataversion.md)
- [GCMicroGamepadSnapshotDataVersion](gamecontroller/gcmicrogamepadsnapshotdataversion.md)
- [GCCurrentExtendedGamepadSnapshotDataVersion](gamecontroller/gccurrentextendedgamepadsnapshotdataversion.md)
- [GCCurrentMicroGamepadSnapshotDataVersion](gamecontroller/gccurrentmicrogamepadsnapshotdataversion.md)
- [GCExtendedGamepadSnapshotDataFromNSData(_:_:)](gamecontroller/gcextendedgamepadsnapshotdatafromnsdata(_:_:).md)
- [GCMicroGamepadSnapshotDataFromNSData(_:_:)](gamecontroller/gcmicrogamepadsnapshotdatafromnsdata(_:_:).md)
- [NSDataFromGCExtendedGamepadSnapshotData(_:)](gamecontroller/nsdatafromgcextendedgamepadsnapshotdata(_:).md)
- [NSDataFromGCMicroGamepadSnapshotData(_:)](gamecontroller/nsdatafromgcmicrogamepadsnapshotdata(_:).md)
