<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "GameController",
  "identifier" : "/documentation/GameController/GCControllerLiveInput",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Game Controller"
    ],
    "preciseIdentifier" : "c:objc(cs)GCControllerLiveInput"
  },
  "title" : "GCControllerLiveInput"
}
-->

# GCControllerLiveInput

The input profile for a controller.

```
class GCControllerLiveInput
```

## Overview

Instances of [`GCControllerLiveInput`](/documentation/GameController/GCControllerLiveInput) represent the current input state of a controller. You can save snapshots of the input state and receive callbacks when the input state changes. You can also get the elements of the controller and their current input values from [`GCControllerLiveInput`](/documentation/GameController/GCControllerLiveInput) instances.

Use the [`capture()`](/documentation/GameController/GCControllerLiveInput/capture()) method to save a copy of the current input state. If you want Game Controller to buffer snapshots of the input states for you, use the  [`inputStateQueueDepth`](/documentation/GameController/GCDevicePhysicalInput/inputStateQueueDepth) property to set the buffer’s queue depth to a value other than `0`. Then use the [`nextInputState()`](/documentation/GameController/GCControllerLiveInput/nextInputState()) method to get the snapshots when you’re ready to process input.

## Topics

### Handling device input

[`nextInputState()`](/documentation/GameController/GCControllerLiveInput/nextInputState())

Returns the next device input state from the queue.

[`capture()`](/documentation/GameController/GCControllerLiveInput/capture())

Returns a snapshot of the physical device inputs.

### Remapping controls

[`unmapped`](/documentation/GameController/GCControllerLiveInput/unmapped)

The live input of a controller without any system-level remapping of the controls.



---

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)