-
-
Board 1 teaches itself: a glowing pad and ghost mirror show where the tile goes. The beam bends live while you hold it.
-
Three beams, one board. Solving lights the rim and every socket, plays a chord and records your time.
-
Mid-game on the three-beam board: each socket takes only its colour, and each colour has its own shape.
-
Twist your wrist while holding a tile to flip its mirror. The preview shows the new route before you let go.
-
The daily board: a fresh puzzle every day, the same for everyone, with a streak and a best time.
-
Opens in the Meta Quest browser: tap Enter VR and the table fits your seated height.
Inspiration
Studio patch bays are walls of sockets where you route signals by hand. We wanted that feeling of plugging things together, made calm and tactile in VR, and light suited it: you see a route instantly, and every socket can sing when it connects. We also wanted something that fits the moments people actually have with a headset: on a couch or in a train seat, ten minutes, no controllers.
What it does
Patchbay is a seated puzzle game played entirely with your hands. A small table appears in front of you, fitted to your seated height. Coloured emitters on the edge of a 5 x 5 board shoot beams across it. You pinch mirror tiles out of the trays at your sides, carry them over the board and set them down to bend each beam into the socket of the same colour.
- Twist to flip. Twist your wrist while you hold a tile to flip its mirror. No buttons, no menus.
- Live preview. While a tile hovers over the board, the beams re-route as if it were already placed, so you can feel out a solution before letting go. Socket notes play as they light up.
- Splitters and blocks. Glass splitters send light two ways at once; blocks swallow it.
- 12 handcrafted boards, from one mirror up to three beams sharing one tight grid.
- A daily board: a new puzzle every day, the same for everyone, with a streak and a best time to beat.
- Teaches itself. On the first boards a soft glowing pad and a ghost mirror show where each tile goes and which way it faces. No tutorial text to read.
- Colour and shape. Every colour also has its own shape (circle, square, triangle, diamond) on emitters and sockets, so the game never relies on colour alone.
- Sound is generated live: each socket has its own note, and a solved board plays a chord.
How we built it
- Immersive Web SDK (IWSDK 1.0) on three.js, running as WebXR in the Meta Quest browser.
- Tiles are ECS entities with
OneHandGrabbable; IWSDK's grab system has hand-pinch grabbing switched on. A Patchbay system snaps released tiles to the nearest free cell (or back to their tray slot) and reads tile orientation from the hand's yaw, quantised to quarter turns. - The beam tracer is a small pure TypeScript module (mirrors, splitters, blocks, loop detection). The same code runs in the game and in an exhaustive solver that proves every handcrafted board: its answer works, an empty board lights nothing, and no answer with fewer tiles exists.
- The daily generator grows each beam's route by dropping mirrors on cells the beam already crosses, then places sockets where the beams leave the board, so every daily board is solvable by construction.
- The HUD is a UIKitML panel (Horizon kit) pressed with a hand-ray pinch, with light and dark themes.
- Audio is a tiny Web Audio synth, so the game ships no sound files.
- Tested in IWER, the Quest 3 emulator, with scripted hand and controller input: every board, the daily board and every menu button are solved or pressed through real emulator input (31 automated checks).
Challenges we ran into
- Making pinch feel right. The tile follows the hand freely and only snaps upright to the nearest quarter turn on release; tipping a tile on its side doesn't make the orientation flicker.
- Narrow field of view. Board, trays and HUD sit in one forward cone, with the HUD tilted back just past the far edge of the table, so everything stays visible on devices with a narrower FoV.
- A fair daily puzzle without a server. It is generated from the date and checked as it is built.
Accomplishments that we're proud of
- The live preview: you find the solution with your hands, not by trial and error.
- Every board is machine-checked for a minimal answer.
- Fully playable without ever pairing a controller, start to finish.
What we learned
Hands-first design is mostly about forgiveness: generous grab volumes, snap on release, previews before commitment, and never punishing a drop. A tile dropped anywhere off the board just glides home.
What's next
- New tiles: colour filters and prisms that mix beams.
- A weekly challenge board and shared daily scores.
- Eyes-and-hands input on new Meta devices: look at a tile and pinch to pick it up from a distance.
- Packaging for the Meta Horizon Store. Target launch: Q1 2027 as a Horizon Store web app.
Try it
Open https://patchbay-vr.vercel.app in the Meta Quest browser, press Enter VR and sit down. Pinch a tile from a side tray, move it over the board and let go; twist your wrist while holding to flip it; point at the panel and pinch to press Prev, Next, Reset, Daily board or Fit table.
Built With
- iwsdk
- three.js
- typescript
- vercel
- vite
- web-audio
- webxr
Log in or sign up for Devpost to join the conversation.