Instant phone controllers
for indie games
Let your players turn their phone into a game controller in under 2 seconds. Don't spend time building and maintaining a controller for your game and the networking infrastructure to keep it running — spend that time on what you care about, your game!
Built on the gamepad your players already know
One full-featured game controller — themeable per game, reactive to what's happening on screen, with optional native-app polish. Players scan a QR from inside your game and connect instantly — no app download required.
Familiar gamepad buttons and joystick
D-pad, thumb-stick, A/B/X/Y face buttons, L/R triggers, and a pause button — the layout players already know. Inputs stream to your game in under 20ms on local WiFi.
Inputs
Customizable per game
Theme the controller to match your game — button palette, accent color, labels, which controls are visible. Configured once in the dashboard, pushed to every player — no rebuild, no code change.
Configurable
Put your HUD on the controller
Health, stamina, ammo, score, mini-map — any HUD element can render on the player's phone instead of cluttering the main screen. In local multiplayer, each player sees their own stats privately; the TV stays clean.
Render on phone
Dialogue choices, polls, and text prompts
Trigger a question from your game and the phone pops a full-screen overlay — single choice, multi-select, or free text. Answers stream back as they come in; your code awaits the result and moves on.
Prompt types
Reactive to game state
Your game broadcasts state, the controller reflects it. The pause button flips live when you pause, the UI tints with each player's team color, a 'your turn' indicator lights up in turn-based rounds, and the whole controller dims when a player is eliminated.
Reactive to
Persistent user profiles
Players set their display name and avatar once on their phone — it rides into every game built on dropcontroller. No 'what should I call you?' on every round, and the identity survives reconnects, WiFi roams, and return visits.
Profile carries
Extendable modules
Beyond the gamepad, compose purpose-built modules into the controller: a private inventory, a hidden card hand, a mini-map, a drawing canvas, or tilt/motion input. Each one is a drop-in component that stacks alongside the rest — and you can ship your own.
Module library
Bring the controller to life with the (optional) iOS controller app
Players who install the free dropcontroller iOS app get haptic rumbles that actually feel like a real gamepad — your game's events drive them directly, so hits land with a thump, engines purr, and close calls buzz under the player's thumbs. Same API, same events — no browser chrome, faster resume, and your code doesn't change.
App adds
Familiar gamepad buttons and joystick
D-pad, thumb-stick, A/B/X/Y face buttons, L/R triggers, and a pause button — the layout players already know. Inputs stream to your game in under 20ms on local WiFi.
Inputs
Customizable per game
Theme the controller to match your game — button palette, accent color, labels, which controls are visible. Configured once in the dashboard, pushed to every player — no rebuild, no code change.
Configurable
Put your HUD on the controller
Health, stamina, ammo, score, mini-map — any HUD element can render on the player's phone instead of cluttering the main screen. In local multiplayer, each player sees their own stats privately; the TV stays clean.
Render on phone
Dialogue choices, polls, and text prompts
Trigger a question from your game and the phone pops a full-screen overlay — single choice, multi-select, or free text. Answers stream back as they come in; your code awaits the result and moves on.
Prompt types
Reactive to game state
Your game broadcasts state, the controller reflects it. The pause button flips live when you pause, the UI tints with each player's team color, a 'your turn' indicator lights up in turn-based rounds, and the whole controller dims when a player is eliminated.
Reactive to
Persistent user profiles
Players set their display name and avatar once on their phone — it rides into every game built on dropcontroller. No 'what should I call you?' on every round, and the identity survives reconnects, WiFi roams, and return visits.
Profile carries
Extendable modules
Beyond the gamepad, compose purpose-built modules into the controller: a private inventory, a hidden card hand, a mini-map, a drawing canvas, or tilt/motion input. Each one is a drop-in component that stacks alongside the rest — and you can ship your own.
Module library
Bring the controller to life with the (optional) iOS controller app
Players who install the free dropcontroller iOS app get haptic rumbles that actually feel like a real gamepad — your game's events drive them directly, so hits land with a thump, engines purr, and close calls buzz under the player's thumbs. Same API, same events — no browser chrome, faster resume, and your code doesn't change.
App adds
Try it right now
Scan with your phone to feel a live game controller — no signup, no install.
Tap in for a live game controller — no signup, no install.
Try the game controller demo →Drop in a controller. Ship.
Host a room, pass "gamepad", handle inputs. That's the whole SDK surface.
using DropController;
var room = await DropController.Host(
new HostOptions(appId, apiKey)
.WithControllerTemplate("gamepad")
);
room.OnPlayerJoined += (e) => {
Debug.Log($"{e.Player.Name} joined");
};
room.OnControllerInput += (e) => {
// e.Input is a gamepad event: button, stick, trigger, dpad, or pause.
HandleGamepadInput(e.Player, e.Input);
}; Unity (Asset Store distribution) and JavaScript today. Godot, Bevy, LÖVE, and Phaser SDKs in the monorepo — landing soon.
Ship a game, not a platform
The real-time stack is handled. You keep your revenue, your brand, and your engine of choice.
Broaden your audience with players that skipped the console
- Phone is the controller — no console, no gaming PC
- Casual players become customers — they'll pay for a great game, just without the hardware
- Solo or party — same zero-install join flow
Networking handled
- <20ms latency — direct WebRTC on local WiFi
- Transparent relay fallback on restrictive networks
- Zero-loss reconnection across screen locks and WiFi roams
SDK, not a walled garden
- Keep 100% of your revenue — no platform cut
- Ship anywhere — Steam, consoles, your own site
- Your brand on top — dropcontroller is invisible infrastructure
Your stack, any browser
- Unity · Unreal · Native · JS — plus raw WebSocket
- Any mobile browser — no app install, QR to join
- Offline / LAN capable once players connect
Plays with hardware gamepads too
- Plug-in or scan — same lobby, same Player object
- One input event for phones and pads alike
- Native gamepad APIs bridged — no second pipeline
Want the deeper dive — ordered delivery, binary wire protocol, edge signaling? Read the architecture →
v1 ships the controller. v2 ships the platform.
Four ways the shared controller substrate compounds — for the games other SDKs skip, the players they forget, the streams they ignore, and the live-ops team you don't have.
Asymmetric games, first-class.
Secret roles, hidden hands, GM-and-players — games where every phone shows different information are miserable to build from scratch. Whisper to one phone, broadcast to a role, reveal on a game event. Typed primitives for the genres no SDK covers.
Accessibility, baked in — not bolted on.
We render the controller, not your game — so screen-reader support, motor-access layouts, colorblind-safe palettes, and "simplify controls" mode all live in the substrate. Every dropcontroller game inherits them without you learning ARIA.
Built for the Twitch generation.
Party games live and die on Twitch. Audience mode lets viewers scan a QR in chat and join — vote on events, throw items, answer prompts. OBS overlays drop in as browser sources, and tagged moments auto-clip to a shareable MP4.
Live-ops, without the live-ops team.
Tap-density heatmaps over your controller layout. Session replay for bug reports — last 30 seconds of inputs, game state, and per-hop latency. A/B controller variants and live config push, no telemetry SDK to wire.
Connect with your players and see what they really want
Every phone already running your game is a direct line to the player holding it. The built-in help desk turns that line two-way — gather feedback, run polls on what to build next, and collect bug reports with device context attached. Nothing to integrate, no third-party service to pay.
Open feedback channel
One tap from inside the controller opens a feedback sheet — free text, per-player, threaded back to your dashboard. See what players love and what frustrates them without waiting on a Steam review.
Run polls in-app
Push a poll to every player who's touched your game — "which boss should we rework?", "vote on the next character class", "is the new map better?" Results stream in live while players are still online.
Bug reports with context
When a player taps "report a bug," their submission travels with device info, your game's version, recent console logs, and an optional screenshot. Triage faster than email ever will.
Pricing that stays out of your way
The SDK is free. Local network sessions always cost $0. You only pay when traffic routes through our cloud relay or you outgrow your tier's data cap.
Hobbyist
Personal projects, prototypes, learning
- Unlimited local-network sessions
- Up to 32 devices, under 20ms latency
- Discovery, session management, reconnection
- End-to-end encryption
- Full no-code controller designer
Pro
Indie games and small commercial projects
- Everything in Hobbyist
- 3,500 cloud relay device-minutes included
- Analytics dashboard and session insights
- Custom branding / white-label controllers
- Player help desk — feedback, polls, bug reports
- Priority support
Usage overages
When you exceed your tier's capsper device-minute
per GB
Contact us for volume pricing if you're consistently exceeding 50,000 device-minutes per month.
Everything you need so you can just focus on your game - we can't wait to see what you make
Don't spend time building and maintaining a controller for your game and the networking infrastructure to keep it running. Put that time into the gameplay that makes people laugh, compete, and come together around a screen.