# GvrTrackedController Class Reference

# GvrTrackedController

Represents an object tracked by controller input.

## Summary

Manages the active status of the tracked controller based on controller connection status.

Fetches a `https://developers.google.com/vr/reference/unity/class/GvrControllerInputDevice#classGvrControllerInputDevice` for the configured `GvrControllerHand` and propagates the device instance to all `https://developers.google.com/vr/reference/unity/interface/IGvrControllerInputDeviceReceiver#interfaceIGvrControllerInputDeviceReceiver`s underneath this object on Start and if the controller handedness changes. If the controller is not positionally tracked, position of the object is updated to approximate arm mechanics by using a `https://developers.google.com/vr/reference/unity/class/GvrBaseArmModel#classGvrBaseArmModel`. `https://developers.google.com/vr/reference/unity/class/GvrBaseArmModel#classGvrBaseArmModel`s are also propagated to all `https://developers.google.com/vr/reference/unity/interface/IGvrArmModelReceiver#interfaceIGvrArmModelReceiver`s underneath this object.

### Inheritance

Inherits from: MonoBehaviour

| ### Properties ||
|---|---|
| `https://developers.google.com/vr/reference/unity/class/GvrTrackedController#classGvrTrackedController_1a0d8b8e035ec00a38b7f315bfb5a1766b` | `https://developers.google.com/vr/reference/unity/class/GvrBaseArmModel#classGvrBaseArmModel` Gets or sets an arm model. |
| `https://developers.google.com/vr/reference/unity/class/GvrTrackedController#classGvrTrackedController_1ad2401c057b484b21554eebc344e1b6cd` | `GvrControllerHand` Gets or sets the controller hand used for this tracked object. |
| `https://developers.google.com/vr/reference/unity/class/GvrTrackedController#classGvrTrackedController_1af85f2ee3e55dcb9b1e6ca49d8b3b96ec` | `https://developers.google.com/vr/reference/unity/class/GvrControllerInputDevice#classGvrControllerInputDevice` Gets the controller input device for this tracked object. |
| `https://developers.google.com/vr/reference/unity/class/GvrTrackedController#classGvrTrackedController_1ab3ecdf0f20d91277110806c562a9a29e` | `bool` Gets or sets a value indicating whether the object's active status is determined by the controller connection status. |

| ### Public functions ||
|---|---|
| `https://developers.google.com/vr/reference/unity/class/GvrTrackedController#classGvrTrackedController_1a4546a3231312e8cd15a64cff256bbb68()` | `void` Propagates the arm model to all `https://developers.google.com/vr/reference/unity/interface/IGvrArmModelReceiver#interfaceIGvrArmModelReceiver`s. |

## Properties

### ArmModel

```c#
GvrBaseArmModel ArmModel
```
Gets or sets an arm model.

Used to control the pose (position and rotation) of the object and to propagate to children that implement `https://developers.google.com/vr/reference/unity/interface/IGvrArmModelReceiver#interfaceIGvrArmModelReceiver`.

An arm model used to control the pose (position and rotation) of the object, and to propagate to children that implement `https://developers.google.com/vr/reference/unity/interface/IGvrArmModelReceiver#interfaceIGvrArmModelReceiver`.

### ControllerHand

```c#
GvrControllerHand ControllerHand
```
Gets or sets the controller hand used for this tracked object.

The controller hand used for this tracked object.

### ControllerInputDevice

```c#
GvrControllerInputDevice ControllerInputDevice
```
Gets the controller input device for this tracked object.

The controller input device for this tracked object.

### IsDeactivatedWhenDisconnected

```c#
bool IsDeactivatedWhenDisconnected
```
Gets or sets a value indicating whether the object's active status is determined by the controller connection status.

Value `true` if the object's active status is determined by the controller connection status, `false` otherwise.

## Public functions

### PropagateArmModel

```c#
void PropagateArmModel()
```
Propagates the arm model to all `https://developers.google.com/vr/reference/unity/interface/IGvrArmModelReceiver#interfaceIGvrArmModelReceiver`s.

Should only called when ArmModel is instantiated or changed.