# Documentation

Use your phone as a controller for your computer, or add phone controllers to your own game. The desktop app makes your phone a gamepad, mouse and keyboard for the games already on your computer. The SDK lets a game accept phones directly, including private screens for each player.

## Play

- [Connect a phone](play.md): install, scan, join and reconnect.
- [Controls and appearance](controls.md): buttons, sticks, motion and Pro skins.
- [Connection information](connections.md): routes, pairing methods and measured ping.
- [Five games](games.md): rules, controls and ways to win.
- [Desktop controls](desktop.md): gamepads, mouse, keyboard and media.
- [Pro and purchases](pro.md): what the one-time purchase changes.
- [Fix a connection](troubleshooting.md): symptoms and practical checks.

## Build a game

- [Web game, no server](web-games.md): ten lines with the Controller+ relay.
- [JavaScript quickstart](quickstart.md): phones connect straight to your own server.
- [Read and map input](input-api.md): positional controls, actions and physical gamepads.
- [Wire protocol](protocol.md): roles, messages, limits and reconnect tickets.
- [Private phone views](private-views.md): roles, drawing, choices and puzzles.
- [Engine integrations](integrations.md): Godot, Unity, Unreal and native C/C++.
- [Capabilities and permissions](capabilities.md): what each client can actually provide.
- [Integration guidance for coding agents](agents.md): a short, concrete implementation path.

## Maintain the project

- [Build from source](build.md): independent repositories and available toolchains.
- [Security and privacy](security.md): tokens, permissions, private data and transport.
- [Source licenses](licensing.md): commercial SDK integration and noncommercial app reuse.
