---
title: GCControllerLiveInput
framework: gamecontroller
role: symbol
role_heading: Class
path: gamecontroller/gccontrollerliveinput
---

# GCControllerLiveInput

The input profile for a controller.

## Declaration

```swift
class GCControllerLiveInput
```

## Mentioned in

Handling input events

## Overview

Overview Instances of 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 instances. Use the 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 property to set the buffer’s queue depth to a value other than 0. Then use the nextInputState() method to get the snapshots when you’re ready to process input.

## Topics

### Handling device input

- [nextInputState()](gamecontroller/gccontrollerliveinput/nextinputstate().md)
- [capture()](gamecontroller/gccontrollerliveinput/capture().md)

### Remapping controls

- [unmapped](gamecontroller/gccontrollerliveinput/unmapped.md)

## Relationships

### Inherits From

- [GCControllerInputState](gamecontroller/gccontrollerinputstate.md)

### Conforms To

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

## See Also

### Accessing controller input

- [input](gamecontroller/gccontroller/input.md)
- [GCControllerInputState](gamecontroller/gccontrollerinputstate.md)
