Limitless
Teleport to any spot on the court and shoot freely. Every make and miss feeds your lifetime shooting percentages, from any range you choose.
Get Buckets VR is a roomscale basketball game for Meta Quest. Balls return to the rack on their own, so it is pure shooting rhythm. No artificial locomotion, no teleporting between shots, nothing to fight but your form.
Every mode shares the same feel: grab a ball, find your shot, let it go. What changes is the pressure around it.
Teleport to any spot on the court and shoot freely. Every make and miss feeds your lifetime shooting percentages, from any range you choose.
Hit a target score before time runs out. String makes together and consecutive shots bank you bonus seconds to keep the run alive.
Five racks of five balls. Regular balls score 1, moneyballs score 2, and you choose which single rack is loaded with all moneyballs.
Handbuilt trick shot levels with blockers, floating rings, angled bank boards and sweeping panels. Clear a level in 3 balls for all 3 stars.
Get Buckets VR keeps your feet planted in real space the entire time. There is no smooth locomotion, no snap turning between shots, and no chase across the court after a miss. Balls return to the rack on their own, so the only thing moving fast is the shot you just took. If motion sickness has kept you out of VR games before, this is the genre built around not having that problem.
Technical write-ups on the physics, tooling and shipping problems behind Get Buckets VR, for players curious how it works and other developers building something similar.
Bundle IDs are permanent, keystores can never be regenerated, Unity forgets your keystore password every session, and trademarks get flagged in store text you didn't even think was risky.
A rim mounted scoreboard that yaws to face the shooter was quietly occluding a Challenge target. I found every bad angle by raycasting a sample grid instead of walking the room myself.
A Challenge level needed a bank board the player shoots past the rim and rebounds back in. I stopped eyeballing it and simulated the projectile instead.