---
title: GCGamepadSnapshot
framework: gamecontroller
role: symbol
role_heading: Class
path: gamecontroller/gcgamepadsnapshot
---

# GCGamepadSnapshot

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

## Declaration

```swift
class GCGamepadSnapshot
```

## Overview

Overview To create a gamepad snapshot, call the saveSnapshot() method on a GCGamepad object. The GCGamepadSnapshot class is a subclass of the GCGamepad 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 Snapshots and Data Objects

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

### Flattening a Snapshot to Memory

- [GCGamepadSnapShotDataV100](gamecontroller/gcgamepadsnapshotdatav100.md)
- [NSDataFromGCGamepadSnapShotDataV100(_:)](gamecontroller/nsdatafromgcgamepadsnapshotdatav100(_:).md)
- [GCGamepadSnapShotDataV100FromNSData(_:_:)](gamecontroller/gcgamepadsnapshotdatav100fromnsdata(_:_:).md)

## Relationships

### Inherits From

- [GCGamepad](gamecontroller/gcgamepad.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)
- [GCExtendedGamepadSnapshot](gamecontroller/gcextendedgamepadsnapshot.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)
