Inspiration
- While working on a different VR game our designer Randy went looking for an exercise app or game to play. Hoping to find a good way to get “free exercise”. By that he meant that the game is fun enough in itself that he'd want to play and the exercise is a welcome side effect. But Randy wasn’t happy with anything he could find. So, Randy started designing Dragon Boxer, a hybrid exercise/casual game he could enjoy playing, and he asked us to help build it. As we looked further, we found that many exercise apps are well made and look great, but are not quite fun enough to continue playing. And given the clear gap in the VR store, our experience making mobile casual games told us that this would be a worthwhile project.
What it does
- To combine the simplicity and fun of casual games with exercise, we use RPG-like progression to keep players motivated. As soon as you hit start, the action starts. No menus, no tutorial, no friction. It’s simple, yet fun. It starts out slightly easier at first, but not boringly so. Then the difficulty manages itself. Physically slower players will still collect gold/xp from stages they couldn't complete on the first try and can level up stats and upgrade equipment at earlier stages, while the faster players will progress to more difficult stages faster than they’re leveling up or buying equipment.
- As you progress to later stages, you battle stronger dragons. No deep strategy or start-of-session tasks that can drain motivation before the exercise starts. Just punching and ducking/dodging. And with good responsiveness: something clearly happens with every punch. Battles are about 1 minute, and the progression system aims for 3-5 minutes sessions by having upgrades about every 3 battles.
How we built it
- Built in Unity 6.2 using Meta OpenXR SDK, Meta XR Passthrough, AR Foundation, Meta Hand Tracking Subsystem, Meta XR Haptics, MQDH Profiler, and Quest Runtime Optimizer.
Challenges we ran into
- Achieving stable 90 FPS required aggressive profiling to eliminate GPU bottlenecks.
- Performance limitations forced the removal of post-processing effects, severely restricting VFX options.
- Hand tracking introduced noticeable latency and tracking noise, requiring optimization to UI interactions.
Accomplishments that we're proud of
- Achieving 90 to 120 FPS.
- How quickly we were able to incorporate the competition changes.
- How easy is to pick up and play, and people's reactions.
What we learned
- We didn't want to use hands-free because of poor experiences in other games with lag and difficulty pressing menu buttons. But it turns out hands-free is perfect for Dragon Boxer. The instant responsiveness of controllers is unnecessary for punching, and we have minimal button pressing.
- Implementing immersive spatial features took much less time than expected, under 2 days, and turned out to be a cool improvement to the game and we now intend to invest even more time in it.
- A general lesson learned: Sometimes if new fancy tech is implemented first, inspiration for how to use it can be sparked by trying it.
What's next for Dragon Boxer
- Improvements using spatial SDK, including enemy ragdoll for realistic collisions with objects, snapping game elements to walls when appropriate, enemy spawning portals walls, better fire FX, etc.
- Use Passthrough Camera Access with AI for customized interactions with objects.
- If successful, post-launch: add social and multiplayer/coop.
Built With
- 90-120hz-display-refresh-rate-support
- hand-tracking-subsystem
- meta-hand-tracking-aim
- meta-openxr-sdk
- meta-xr-camera-passthrough
- meta-xr-haptics
- meta/ar-foundation-bounding-boxes
- meta/ar-foundation-planes
- mqdh-profiler
- quest-runtime-optimizer
- unity-6.2


Log in or sign up for Devpost to join the conversation.