> For the complete documentation index, see [llms.txt](https://superstatic.gitbook.io/curvedui-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://superstatic.gitbook.io/curvedui-docs/getting-started/setup-for-other-platforms.md).

# Setup for other Platforms

You can use any third-party physical or virtual remotes as CurvedUI input.&#x20;

To do this, set your CurvedUISettings to **Custom Ray Control Method** and place the following script somewhere on the scene: (Of course, you have to fill the variables there with your remote’s data)

<pre data-overflow="wrap"><code>void Update()
{
<strong>    CurvedUIInputModule.CustomRay = new Ray(yourRemoteTransform.position, yourRemoteTransform.forward);
</strong>
    CurvedUIInputModule.CustomRayButtonState = isButtonOnYourRemotePressed;
}
</code></pre>

You can also Add ControllerLaserPointer prefab as a child of your remote’s transform to give it a laser pointer.
