Inspiration

As a child, my two fingers were a stunt hero. They sprinted across desks, leapt between books and dodged imaginary walls in action scenes only I could see.

Finger Runner MR: Desk Dash takes a piece of that idea and brings it to life. Rest your right hand on any small flat surface and a tiny runner appears on a garden track just ahead of your fingertips, moving only when your fingers do. It is a quick, simple game for a short break that keeps your hand and eyes working together.

What it does

Your hand on the real table is the only controller.

  • Run: walk your index and middle fingers. Step faster and the runner and music speed up.
  • Jump: lift your hand and put it back down to clear hurdles.
  • Change lanes: slide your hand sideways around walls.
  • Duck: lay both fingers flat to slide under a barrier.

Collect orbs, grab a shield or a 2.5x speed run, and keep your health up for a 1 to 5 minute run. Look at a table and the headset's depth sensing finds it in about half a second; tap it and the track appears at your fingertips, angled along your relaxed forearm. A flat hand moves or turns it, and Raise and Lower fine-tune it. The whole game fits in a small space, which suits the narrower view of Meta VR Glasses. First-timers get a short spoken tutorial: a 3D guide hand beside yours shows each move, and a metronome teaches an easy, relaxed walking pace. Then a 30-second practice run that cannot be lost. Lifting your hand or taking off the headset pauses the run, and it carries on exactly where it stopped. Your best score is saved.

How we built it

Unity 6 (URP) with Meta XR SDK v207: Interaction SDK hand tracking and passthrough, with the table found by Depth API raycasts (MR Utility Kit) where the player looks. Gesture detectors read knuckle and fingertip joints and calibrate to each player. Every Quest 3 session records the hand during development, and every rule was tuned by replaying those recordings through the game's own code. I built it with Claude Code driving the Unity Editor, plus Meta XR Simulator, Meta VR CLI and XR Operator, across seven iterations tested in the headset. Version 1.1 answers a Meta VR Start playtest: a bigger, longer track, the guide hand, a voice (offline text-to-speech) and the pace lesson.

Challenges we ran into

A hand resting on a table is hard to read. A sideways slide dips the knuckles like a duck, and a landing can look like a press. The fix was checking every new rule against all recordings and keeping the hardest obstacle combinations off the track.

Accomplishments that we're proud of

  • Fully playable with hands from launch to results: no controller, ray or pinch anywhere.
  • The jump rule detects 104 of 104 recorded real hops with 0 of 13 false triggers.
  • New players learn every gesture in under a minute, then finish a 30-second practice run.
  • 192 automated tests, and every screen fits within Meta VR Glasses' 70 x 66 degree view, checked in the headset with Meta's field-of-view simulation.

What we learned

  • Tune on real recordings, never on guesses.
  • Give every "waiting for" state a second way out. One stuck jump once froze a run for 37 seconds.
  • Bare hands get no haptics, so every jump and duck needs its own sound.
  • Players tap far faster than they need to: recordings showed about 7 steps a second when 3 already gives full speed, so the tutorial now teaches the pace.

What's next for Finger Runner MR: Desk Dash

Left-handed play, a runner you can pick up with a pinch, character customisation, and a release on Meta VR Glasses, where a game this small and quick feels at home.

Credits

  • Runner character and animations: Human Basic Motions FREE by Kevin Iglesias, Unity Asset Store
  • Footstep and slide sounds: Classic Footstep SFX by Matthew Anett, Unity Asset Store
  • Jump and orb sounds: FREE Casual Game SFX Pack by Dustyroom, Unity Asset Store
  • Font: Nunito by Vernon Adams, Google Fonts (SIL Open Font License)
  • Voice: generated with Kokoro-82M (Apache 2.0)
  • Guide hand: Meta's hand model from the Meta XR Interaction SDK
  • Music, the metronome and the lane-change whoosh are synthesised in the game.

Built With

  • android
  • c#
  • claude-code
  • depth-api
  • hand-tracking
  • il2cpp
  • meta-horizon-os
  • meta-interaction-sdk
  • meta-quest-3
  • meta-vr-cli
  • meta-xr-operator
  • meta-xr-sdk
  • meta-xr-simulator
  • mixed-reality
  • mr-utility-kit
  • openxr
  • passthrough
  • python
  • textmeshpro
  • unity
  • universal-render-pipeline
  • vulkan
Share this project:

Updates

Submission history