Inspiration

This project started as a simple mixed reality target shooter built around hand tracked ray guns you could fire without a controller. I wanted to challenge myself and turned it into a multiplayer version where up to four players can stand in the same physical room and see the same targets spawning on real walls. I wanted something fast and reactive that also shows what mixed reality can feel like when the environment is part of the gameplay.

What it does

MR Target Shooter is a colocated mixed reality arcade game. Up to four players can:

  • Join the same shared spatial session so everyone sees identical target locations.
  • Use hand tracked rayguns to fire without a controller.
  • Play quick rounds where targets spawn directly onto real walls using MRUK’s surface data.
  • Players compete in short rounds to get the highest score.

The focus is on making the room itself part of the experience, with targets placed in believable, physical feeling positions.

How I built it

The project is built in Unity using:

  • Meta XR Core SDK
  • Meta XR Interaction ​SDK
  • Meta MR Utility Kit
  • Meta XR Audio SDK
  • Meta XR Simulator
  • Unity Netcode for Game Objects

Most of the gameplay is structured around a shared anchor so every player sees the same content in the same physical space.

Challenges I ran into

  • Room alignment & drift: Maintaining a shared spatial understanding between players required careful handling of MRUK coordinate spaces and colocation anchors.
  • Hand tracking reliability: Controller free firing introduced gesture edge cases, particularly when objects were hidden or disabled.
  • Live headset testing: Quite a few issues only showed up when running two headsets at once, debugging was most often done with two duplicate unity projects running on PC.

Accomplishments that we're proud of

  • Stable colocated multiplayer with consistent alignment across devices.
  • Hand tracked rayguns that feel responsive without relying on controllers.
  • Procedural MR target placement that works reliably with real room geometry.

Seeing both headsets line up perfectly on the same target was a big moment for me.

What I learned

I learned how to structure an MR project around a shared spatial reference and how to combine NGO with Meta’s colocation tools without conflicts. MRUK’s surface APIs also opened up a lot of new ideas for procedural MR gameplay.

What's next for Target Shooter MR

  • New game modes:
    • Single Target Duel
    • Fastest Time destroy all targets mode
    • Colour based scoring mode (only hit your colour)
    • User defined custom game modes
  • Alternative targets that move or require more hits for more points

Built With

  • meta-interaction-sdk
  • meta-spatial-sdk
  • unity
Share this project:

Updates