What works where
Controller+ is in beta. This page lists what each part does today and what it needs from your system.
Your phone
| Phone | Works |
|---|---|
| Any modern phone browser (Safari on iPhone, Chrome on Android) | The full controller, QR joining, private screens, sounds, tilt steering where the browser allows motion access. Android browsers also vibrate; iPhone browsers do not allow web pages to vibrate. |
| Controller+ app for iPhone and Android | Everything above, plus vibration on iPhone, encrypted connections, full mouse and keyboard control of your computer, and Pro styles. The apps are coming to the App Store and Google Play. |
Your computer (desktop app)
| System | Gamepad mode | Game keys | Mouse, keyboard, media |
|---|---|---|---|
| Windows 10/11 (x64) | Each phone is an Xbox 360 controller. The app installs the free ViGEmBus driver in one click the first time. Without it, the vJoy driver also works. | Yes | With the phone app |
| macOS 15 or later | Coming with Apple's approval of our virtual-controller permission | Yes, after you allow Accessibility access | With the phone app |
| Linux (x64, ARM64) | Yes, through /dev/uinput (one-time permission) |
Yes | With the phone app |
Game keys: pick Arrow keys or WASD for a phone on the computer, and its D-pad, stick and buttons press keys. Any game with keyboard controls works this way, and it needs no driver.
Games made for Controller+
The five Controller+ games and any game built with the SDK receive phone input directly. They need no driver and no desktop app: open the game on the computer, scan its QR, play.
Developer packages
| Package | Notes |
|---|---|
| JavaScript (browser and Node 22+) | Relay helper for web games, ControllerHost for your own server, input mapping and protocol helpers |
| 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 |
Private phone screens (roles, votes, drawing) need an integration. They do not appear in a game that only sees a gamepad.