> For the complete documentation index, see [llms.txt](https://docs.overthereality.ai/over-sdk-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overthereality.ai/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrcharactercontroller.md).

# OvrCharacterController

### Description

This Node is used to manage the most common interactions with the Unity [CharacterController](https://docs.unity3d.com/ScriptReference/CharacterController.html) Component.

This OVER Component requires a CharacterController to be set up, see [Unity Manual](https://docs.unity3d.com/Manual/class-CharacterController.html) for more info.

Based on the action the CharacterController is required to perform, this component changes its behavior and requirements.

### Action Types

The OVER SDK provides several ways to interact with the Unity CharacterController Component. A list can be found in [OvrCharacterControllerActionType](/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrcharactercontroller/ovrcharactercontrolleractiontype.md).

#### Movement

Allows the user to handle the movement of the target CharacterController. SimpleMove allows the user to implement a simple movement of the character, by simply applying speed, Move allows for a more elaborate movement type, applying motion to the GameObject attached to the CharacterController.

{% hint style="info" %}
**Note**: the following attributes are added to the existing ones from the super class [OvrNode](/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/ovrnode.md)
{% endhint %}

<table><thead><tr><th width="214.7659040188865">Name</th><th width="215.94102357420294">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>CharacterController </td><td><a href="https://docs.unity3d.com/ScriptReference/CharacterController.html">CharacterController </a></td><td>Unity CharacterController Component</td></tr><tr><td>ActionType</td><td><a href="/pages/t37MC3mk2d8kabRrmyUc">OvrCharacterControllerActionType</a></td><td>Action type [<a href="/pages/t37MC3mk2d8kabRrmyUc">Move</a>, <a href="/pages/t37MC3mk2d8kabRrmyUc">SimpleMove</a>]</td></tr><tr><td>Space</td><td><a href="/pages/qK5H82APaRXlUUO8sWng">OvrSpace</a></td><td>World space or Local space</td></tr><tr><td>Direction</td><td><a href="/pages/BBHgbJJLYWeg7plU4lku">OvrDirection</a></td><td>Movement direction</td></tr><tr><td>CustomDirection</td><td><a href="/pages/YKgJhI2mhTDnKx0wgx3s">OvrVector3</a></td><td>[Custom only] Custom direction vector</td></tr></tbody></table>

![Example of OvrCharacterController, implementing a custom movement.](/files/4V1pIy7OjjnwQpDwD6iQ)

#### Unity Action

Execute the assigned UnityAction. Use this Type to directly access the functions made available by Unity in the specific component.

{% hint style="info" %}
**Note**: the following attributes are added to the existing ones from the super class [OvrNode](/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/ovrnode.md)
{% endhint %}

<table><thead><tr><th width="214.7659040188865">Name</th><th width="215.94102357420294">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>CharacterController </td><td><a href="https://docs.unity3d.com/ScriptReference/CharacterController.html">CharacterController </a></td><td>Unity CharacterController Component</td></tr><tr><td>ActionType</td><td><a href="/pages/t37MC3mk2d8kabRrmyUc">OvrCharacterControllerActionType</a></td><td>Action type [<a href="/pages/t37MC3mk2d8kabRrmyUc">UnityAction</a>]</td></tr><tr><td>UnityAction</td><td>UnityAction</td><td>UnityAction to be invoked</td></tr></tbody></table>

![](/files/QUtE9m2Xfm5pklO7RFc3)
