Instant phone controllers
for indie games
Turn any phone into a game controller in under 2 seconds. Stop building and maintaining networking infrastructure — spend that time on your game instead.
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 →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
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
Optional iOS companion app — free
Players who want a richer experience can install the free dropcontroller iOS app: reactive haptic rumble driven by your game's events, a cleaner UI with no browser chrome, and faster resume. Your game doesn't care — same API, same events.
App adds
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 networking platform
The real-time stack — peer-to-peer data channels, NAT traversal, relay fallback — handled. Put your time into the part players actually care about.
Local-first, action-game fast
Inputs travel phone-to-host over a direct WebRTC data channel — never through our servers. On the same WiFi, the path stays on the LAN. Under 20ms on typical networks: fast enough for real-time action, not just trivia buzzers.
Transparent relay fallback
When NAT traversal fails on restrictive networks, traffic falls through to a TURN relay. Same API, same event shapes — your code never branches on transport.
Zero-loss reconnection
Screen locks, WiFi roams, band switches — the server holds the slot for 60 seconds, inputs buffer locally, and replay in order on resume.
Frame-coalesced high-rate inputs
Joystick samples are batched to one send per display frame; discrete events (buttons, buzzes, pauses) flush immediately. Smooth under load.
Want the deeper dive — ordered delivery, binary wire protocol, edge signaling? Read the architecture →
One profile. Every dropcontroller game.
Players set their profile once on their phone — display name, avatar, handle — and every dropcontroller game they join after gets it automatically. No signup screens, no name prompts, no "what should I call you?" on every single game.
Set up once, everywhere
The first time a player scans a QR to join any game, they can set a handle and pick an avatar. That profile lives on their phone — and eventually in a cross-device account — and follows them into every room after.
Profile on the Player object
When a phone joins a room, the SDK hands your game
{ id, displayName, avatar }.
Render the avatar next to the score. Ship social without building auth.
Per-app player data
Each game gets a key-value store scoped to the player. Persist stats, progress, unlocks, inventory — keep state across sessions without standing up your own backend or accounts.
SDK, not a walled garden
The other option is to ship inside someone else's player, hand over 30% of your revenue, and let their brand sit on top of your game. dropcontroller is the SDK — you keep everything.
Works where you build, runs where your players are
Integrate in your engine of choice. Controllers run in any mobile browser — no app store required.
Game development
- U Unity — primary SDK, Asset Store distribution
- UE Unreal Engine — C++ SDK
- NA Native — iOS, tvOS, Android TV, macOS, Windows
- JS Web games — JavaScript SDK for browsers
- WS Custom — WebSocket API for any platform
Controller deployment
- Zero app installs — runs in any phone browser
- Universal — iOS Safari, Android Chrome, any mobile web
- Offline capable — works on LAN with no internet once connected
- QR code joining — scan and play in under 5 seconds
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.
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
- Priority support
Usage overages
When you exceed your Pro tier limits
per device-minute
per GB
Contact us for volume pricing if you're consistently exceeding 50,000 device-minutes per month.
The next Jackbox could be yours
Stop building and maintaining networking infrastructure. Put that time into the gameplay that makes people laugh, compete, and come together around a screen.