The VR Developer Tools team created Ultimate Glove Ball to showcase how to build an ESport game using the Oculus Social Platform API. It is based on our SharedSpaces project, with expanded functionalities for an ESport game context. This project demonstrates how VR games can offer asymmetric experiences featuring both players and spectators.
This codebase serves as a reference and template for multiplayer VR games. You can try the game on the Meta Horizon Store - Ultimate Glove Ball.
This application for Meta Quest devices showcases a fast-paced sports game playable with friends or strangers. It integrates user connections for joining random games or specific rooms, inviting friends, launching group parties in the same arena, or joining as a spectator. The project includes Meta Avatars for player representation and voice chat for easy communication.
Built with the Unity engine, the project uses Photon Realtime as the transport layer and Unity Netcode for GameObjects. It also includes Meta Utilities and Meta Input Utilities packages, offering useful tools and methods.
-
Configure the project with Meta Quest and Photon.
-
Use Unity 6000.0.50f1 or newer.
-
Load the Assets/UltimateGloveBall/Scenes/Startup scene.
-
Test in the editor using two methods:
Quest Link
- Enable Quest Link: Put on your headset, go to "Quick Settings," and select "Quest Link" (or "Quest Air Link" if using Air Link).
- Choose your desktop from the list and select "Launch" to control your desktop from your headset.
- With the headset on, select "Desktop" from the control panel. You should see your desktop in VR.
- Navigate to Unity and press "Play" to launch the application on your headset.
XR FPS Simulator
- In Unity, press "Play" to enjoy the simulated XR controls.
- Review the XR FPS Simulator documentation for more information. The mouse is captured by the simulator in play mode. To use the mouse in-game, hold Left Alt.
This project uses the following plugins and software:
- Unity 6000.0.50f1 or newer
- Dependencies Hunter
- Meta Avatars SDK
- Meta XR Utilities
- Oculus Integration SDK: released under the Oculus SDK License Agreement.
- ParrelSync
- Photon Realtime for Netcode
- Photon Voice 2
- Unity Netcode for GameObjects
- Unity Toolbar Extender
To test this project in Unity, you need The Meta Quest App.
First, ensure Git LFS is installed by running:
git lfs install
Then, clone this repository using the "Code" button above or this command:
git clone https://github.com/oculus-samples/Unity-UltimateGloveBall.git
More information is available in the Documentation section.
- Avatars
- Ball Physics And Networking
- Code Structure
- Configuration
- In-App Purchases (IAP)
- Light Baking
- Multiplayer
Custom Packages:
The Photon Voice 2 package is stored in the Packages folder. To update them, import their updated Asset Store packages and copy them into their respective Packages
folders.
The Photon Voice 2 package is released under the License Agreement for Exit Games Photon.
The Photon Realtime for Netcode package is copied in the Packages folder as com.community.netcode.transport.photon-realtime@b28923aa5d
since it was modified to fit our needs.
Most of Ultimate GloveBall is licensed under MIT LICENSE. Files from Text Mesh Pro, Photon Voice, and Photon SDK are licensed under their respective terms.
See the CONTRIBUTING file for how to contribute.