Make your game phone-controllable.
Players scan a QR code and their phone becomes a controller for your game, or a private screen for roles, votes and drawings. They install nothing. Free for commercial games.
A web game, in ten lines
No server and no key: the Controller+ relay carries the messages. Works from any https page, localhost, or an HTML file opened from disk.
import { createRoom, movement } from "https://controller.plus/sdk/src/relay-host.mjs";
const room = await createRoom({ game: { id: "space-race", name: "Space Race" } });
qr.innerHTML = room.qrSVG; // players scan this
room.on("join", ({ playerId, name }) => addShip(playerId, name));
room.on("leave", ({ playerId }) => removeShip(playerId));
room.on("input", ({ playerId, input }) => {
const [x, y] = movement(input); // stick or D-pad, -1..1
steer(playerId, x, y, input.buttons[0] > 0.5); // bottom face button
});
Your own server, direct
Attach ControllerHost to a Node HTTP(S) server and phones connect straight to it, with no trip through our service. It handles player seats, reconnects, input normalization and private views. Quickstart
Private phone screens
Send one player a secret role, a question with buttons, a drawing pad or a code fragment. Everyone else keeps their own screen. Private views
Sound and rumble
Trigger built-in sound and vibration cues, or ship your own WAV effects with fallbacks. Players control their own volume and vibration. Feedback
Engines
| Engine | Package |
|---|---|
| Godot 4 | Add-on with action mapping, private views and feedback |
| Unity | UPM package with a WebGL bridge |
| Unreal | Runtime plugin with Blueprint nodes |
| C / C++ | Small library with a CMake build |
Engine guides · Download the packages
For coding agents
Point your assistant at /llms.txt. It leads with the integration above and links the full docs in Markdown. The integration manifest and connection schema are machine-readable.
License
Use and modify the SDK in any game, including commercial games. Don't use it to harm players or to interfere with the Controller+ apps. Source terms