# Input Controller Data

{% hint style="success" %}

#### Like what your seeing?

Support us as a [GitHub Sponsor](/old-kb/where-to-buy/become-a-sponsor.md) and get instant access to all our assets, exclusive tools and assets, escalated support and issue tracking and our gratitude.\
\
These articles are made possible by our [GitHub Sponsors](/old-kb/where-to-buy/become-a-sponsor.md) ... become a sponsor today!
{% endhint %}

## Introduction

```csharp
using HeathenEngineering.SteamworksIntegration;
```

```csharp
public struct InputControllerData
```

Returned as a result of the [API.Input.Client.Update(...)](/old-kb/old-toolkit-for-steamworks/unity/api-extensions/input.client.md#update) method this contains all the current action data and report of changes since the last update was ran for a specific controller.

## Fields and Attributes

### Handle

The controller handle this data is for

```csharp
public InputHandle_t handle;
```

### Inputs

A collection of InputActionData for every tracked Input Action available

```csharp
public InputActionData[] inputs;
```

### Changes

A collection of InputActionUpdate for each input action whose current state differs from its previous e.g. what changed this frame.

```csharp
public InputActionUpdate[] changes;
```

## Methods

### Get Action Data

Returns the InputActionData for a specified action

```csharp
public InputActionData GetActionData(InputAction action)
```

or

```csharp
public InputActionData GetActionData(string name)
```

### Get Active

Returns the "active" value for a specified action

```csharp
public bool GetActive(string name)
```

### Get State

Returns the "state" value for a specified action

```csharp
public bool GetState(string name)
```

### Get Float

Returns the "float" value for a specified action

```csharp
public float GetFloat(string name)
```

### Get Float2

Returns the "float2" value for a specified action

```csharp
public float2 GetFloat2(string name)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kb.heathen.group/old-kb/old-toolkit-for-steamworks/unity/objects/classes/input-controller-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
