A co-located multiplayer mixed reality game for Meta Quest headsets that explores physical cooperative gameplay in shared spaces.
Research Paper: "MoveTogether: Exploring Physical Co-op Gameplay in Mixed-Reality"
Pin-Chun Lu, Wen-Fan Wang, Che-Wei Wang, Ting-Ying Lee, Tsai-Hsuan Lin, Duo-Jie Hsiao, Che-Han Hsieh, Yu-Ting Tseng, Neng-Hao Yu, Mike Y. Chen.
Accepted for CHI'26 (forthcoming)
MoveTogether is a multiplayer MR experience where players in the same physical space collaborate to complete cooperative challenges. The game features multiple themed scenarios (Earth, Fire, Water) with physics-based interactions, requiring players to coordinate their movements and actions to succeed.
- Unity: 2022.3.26f1
- Meta XR SDK: 71.0.0
- Photon Fusion: 1.1.10
- Universal Render Pipeline (URP): 14.0.11
- TextMesh Pro: 3.0.6
- Meta Quest 3, or Pro (minimum 2 headsets for multiplayer)
- Shared physical play space with sufficient room for movement
- Photon Fusion Account: Free tier available at Photon Engine
- Active internet connection for multiplayer networking
git clone https://github.com/ntu-hci-lab/MoveTogether.git
cd MoveTogether- Launch Unity Hub
- Click "Open" and select the
MoveTogetherfolder - Ensure Unity version 2022.3.26f1 is installed
- Wait for Unity to import and compile all assets
- Create a free account at Photon Engine
- Create a new Photon Fusion application in your dashboard
- Copy your App ID
- In Unity, navigate to:
Window > Photon Fusion > Fusion Hub - Paste your App ID in the configuration settings
- Alternatively, edit the Photon settings file directly at:
Assets/Resources/PhotonAppSettings.asset
- Go to
File > Build Settings - Select Android as the platform
- Click "Switch Platform" if not already selected
- Go to
Edit > Project Settings > XR Plug-in Management - Enable Oculus under the Android tab
- Configure build settings:
- Texture Compression: ASTC
- Minimum API Level: Android 10.0 (API Level 29) or higher
- Connect your Meta Quest headset via USB or use Air Link
- Enable Developer Mode on your headset
- In Unity:
File > Build Settings > Build And Run - Repeat the process for each headset you'll use
- Launch the game on the first headset (this player will be the host)
- The game will automatically create a multiplayer room
- Launch the game on additional headsets
- Players will automatically connect to the same room when in proximity
- The game features multiple cooperative scenarios requiring coordination between players
- Earth Scene: Collect and manage earth spirits with trampolines and physics interactions
- Fire Scene: Navigate fire-based challenges with timing and positioning
- Water Scene: Control bubble mechanics and water spirits cooperatively
- Players earn points by successfully completing objectives together
- Physical movement and spatial coordination are key to success
- Hand Tracking: Natural hand gestures for object interaction
- Controllers: Meta Quest Touch controllers for precise manipulation
- Movement: Physical walking within your play space
StartScene.unity- Main menu and multiplayer lobbyGameScene.unity- Primary gameplay hubEarthScene.unity- Earth-themed cooperative challengeFireScene.unity- Fire-themed cooperative challengeWaterScene.unity- Water-themed cooperative challengeTubeScene.unity- Transition/portal scene
Assets/Scripts/- Core gameplay logic and networking codeAssets/Photon/- Photon Fusion networking frameworkAssets/Resources/- Prefabs for networked objects and game elementsAssets/Scenes/- All game scenes
This project is open source under the MIT License. See LICENSE for details.
If you use this project in your research, please cite our CHI'26 paper:
@inproceedings{movetogether2026,
title={MoveTogether: Exploring Physical Co-op Gameplay in Mixed-Reality},
booktitle={CHI Conference on Human Factors in Computing Systems},
year={2026}
}
Developed by NTU HCI Lab