> 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

Subclass of Ovr.OvrNode

### 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="/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrcharactercontroller/ovrcharactercontrolleractiontype.md">OvrCharacterControllerActionType</a></td><td>Action type [<a href="/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrcharactercontroller/ovrcharactercontrolleractiontype.md">Move</a>, <a href="/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrcharactercontroller/ovrcharactercontrolleractiontype.md">SimpleMove</a>]</td></tr><tr><td>Space</td><td><a href="/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrcharactercontroller/ovrspace.md">OvrSpace</a></td><td>World space or Local space</td></tr><tr><td>Direction</td><td><a href="/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrrigidbody/ovrdirection.md">OvrDirection</a></td><td>Movement direction</td></tr><tr><td>CustomDirection</td><td><a href="/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/variables/ovrnumericvariable/ovrvector3.md">OvrVector3</a></td><td>[Custom only] Custom direction vector</td></tr></tbody></table>

![Example of OvrCharacterController, implementing a custom movement.](https://content.gitbook.com/content/6xdubHTzJACGqFIM7yJy/blobs/7S2GrYevSfcWxhQG39Lh/charContr_move.png)

#### 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="/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrcharactercontroller/ovrcharactercontrolleractiontype.md">OvrCharacterControllerActionType</a></td><td>Action type [<a href="/over-sdk-manual/ovr-component-system-ancient-legacy/nodes/unity-components-interactors/ovrcharactercontroller/ovrcharactercontrolleractiontype.md">UnityAction</a>]</td></tr><tr><td>UnityAction</td><td>UnityAction</td><td>UnityAction to be invoked</td></tr></tbody></table>

![](https://content.gitbook.com/content/6xdubHTzJACGqFIM7yJy/blobs/MIzSygxf7ng8nNsZrfJ7/ovrCharacter.png)
