# Controller

This guide will show you how to use the **XREAL Light controller** and **XREAL phone controller**. The tutorial will demonstrate how to create apps using controllers as an interaction model.

Controllers provide a simple way for users to navigate in mixed reality. In the latest version, NRSDK supports two types of controlling methods: **XREAL Light controller** and **XREAL phone controller**. The XREAL Light controller can be paired with a XREAL Light computing unit or a mobile phone through Bluetooth. The XREAL phone controller is only available when using the phone as XREAL Light's computing unit.

## How to Use Your Phone as a Controller

![image4](https://nrealsdkdoc.readthedocs.io/en/latest/_images/controller04.png)

<br>

| Controller Features | Description                                                                                                                                           |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| 3DoF Tracking       | 3 degrees of freedom                                                                                                                                  |
| Touchpad            | **Press** = Trigger Button. Can detect touching and clicking. Customizable for your app, e.g. scrolling.                                              |
| App Button          | **Press and hold** to recenter your controller. **Press** can be customized for your app, e.g. opening an in-app menu or performing a special action. |
| Home Button         | **Press and hold** to open Exit App Window. **Press** can be customized for in-app action, e.g. return to the previous step.                          |

## How to Use the XREAL Light Controller

![image1](https://nrealsdkdoc.readthedocs.io/en/latest/_images/controller01.png)

**On the front**

| Controller Features | Description                                                                                                                                                                                                                                                            |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 3DoF Tracking       | 3 degrees of freedom                                                                                                                                                                                                                                                   |
| Touchpad            | **Press** = Trigger Button. Can detect touching and clicking. Customizable for your app, e.g. scrolling.                                                                                                                                                               |
| App Button          | **Press and hold** to recenter your controller. **Press** can be customized for your app, e.g. opening an in-app menu or performing a special action. ( **Pay attention:** For XREAL Light Controller, pressing the App Button equals to pressing the Touchpad Button) |
| Home Button         | **Press and hold** to open Exit App Window.\</font> **Press** can be customized for in-app action, e.g. return to the previous step.                                                                                                                                   |
| LED Light           | <p>Display controller status<br></p>                                                                                                                                                                                                                                   |

* **On the back**

| Controller Features | Description                                                                                                                                                   |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Charging pins       | The three bottom-facing charging pins connect the controller with the computing unit. It is also used to send data from the computing unit to the controller. |
| Power Switch        | The XREAL Light controller on/off switch is below the charging spots. Green means the power is on, and red means the power is off.                            |

* XREAL **Light Controller LED Guide**

See **LED demo** below:

![](https://nrealsdkdoc.readthedocs.io/en/latest/_images/controller02.gif)

* **Connecting the** XREAL **Light Controller**

1. Make sure the Bluetooth on your Neal Light computing unit/or Android mobile phone is on. (The Bluetooth on XREAL Light computing unit is on as default.)
2. Turn the XREAL Light controller power switch on. Long press the touchpad until the green light starts blinking.
3. Put the XREAL Light controller on the computing unit, and they will be paired automatically.
4. If pairing is successful, the LED will stop blinking and become solid green. If you cannot complete this step, remove all other controllers in the Bluetooth record list and try again.

* **Charging the XREAL Light Controller**

![
](https://nrealsdkdoc.readthedocs.io/en/latest/_images/controller03.gif)

Magnetically attach to the XREAL Light computing unit. Battery power will be shared between the two whether the controller is on or off.

*The lithium battery in the controller is not removable. Please do not attempt to open the controller. Damage caused this way cannot be fixed.*

Please refer to the following sections to start developing with XREAL controller in Unity:

{% content-ref url="../../development/input-and-camera" %}
[input-and-camera](https://xreal.gitbook.io/nrsdk/v2.1.0/development/input-and-camera)
{% endcontent-ref %}

{% content-ref url="../../development/input-and-camera/interact-with-unity-ui-tutorial" %}
[interact-with-unity-ui-tutorial](https://xreal.gitbook.io/nrsdk/v2.1.0/development/input-and-camera/interact-with-unity-ui-tutorial)
{% endcontent-ref %}

{% content-ref url="../../development/input-and-camera/customize-phone-controller" %}
[customize-phone-controller](https://xreal.gitbook.io/nrsdk/v2.1.0/development/input-and-camera/customize-phone-controller)
{% endcontent-ref %}
