Ultimate Glove Ball was built by the VR Developer Tools team to demonstrate how you can quickly build an ESport game that gets people together in VR using the Oculus Social Platform API. Based off our SharedSpaces project we expand functionalities in an ESport game context. We also demonstrate how VR games can have asymmetric experiences. In this project we have players and spectators.
This codebase is available both as a reference and as a template for multiplayer VR games.
The majority of Ultimate GloveBall is licensed under MIT LICENSE, however files from Text Mesh Pro, Photon Voice, and Photon SDK, are licensed under their respective licensing terms.
See the CONTRIBUTING file for how to help out.
This project was built using the Unity engine with Photon Realtime as the transport layer and Unity Netcode for GameObjects.
You can test the game out on AppLab - Ultimate Glove Ball.
This project is an application for the Meta Quest devices that demonstrate a fast pace sport game that can be played with friends or strangers. It shows how to integrate connection between users joining random games or specific rooms, invite friends and group launch a party in the same arena, or join as a spectator to a game already in progress. We also integrated Meta Avatars for players to represent their VR persona and voice chat for easy communication.
The project also includes the Meta Utilities and Meta Input Utilities packages, which contain many useful tools and methods.
-
Configure the project with Meta Quest and Photon
-
Make sure you're using Unity 2021.3.43f1 or newer.
-
Load the Assets/UltimateGloveBall/Scenes/Startup scene.
-
There are two ways of testing in the editor:
Quest Link
- Enable Quest Link:
- Put on your headset and navigate to "Quick Settings"; select "Quest Link" (or "Quest Air Link" if using Air Link).
- Select your desktop from the list and then select, "Launch". This will launch the Quest Link app, allowing you to control your desktop from your headset.
- With the headset on, select "Desktop" from the control panel in front of you. You should be able to see your desktop in VR!
- Navigate to Unity and press "Play" - the application should launch on your headset automatically.
XR FPS Simulator
- In Unity, press "Play" and enjoy the simulated XR controls!
- Review the XR FPS Simulator documentation for more information.
- Note: The mouse is captured by the simulator when in play mode. In order to otherwise use the mouse in-game (such as to interact with menus), hold Left Alt.
- Enable Quest Link:
This project makes use of the following plugins and software:
- Unity 2021.3.43f1 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
The following is required to test this project within Unity:
First, ensure you have Git LFS installed by running this command:
git lfs install
Then, clone this repo using the "Code" button above, or this command:
git clone https://github.com/oculus-samples/Unity-UltimateGloveBall.git
More information can be found in the Documentation section of this project.
- Avatars
- Ball Physics And Networking
- Code Structure
- Configuration
- In-app Purchases(IAP)
- Light Baking
- Multiplayer
Custom Packages:
In order to keep the project organized, the Photon Voice 2 package is stored in the Packages folder. To update them, import their updated Asset Store packages, then copy them into their respective Packages
folders.
The Photon Voice 2 package is released under the License Agreement for Exit Games Photon.
Also, the Photon Realtime for Netcode package is copied in the Packages folder as com.community.netcode.transport.photon-realtime@b28923aa5d
since we modified it to fit our needs.