oculus-samples / Unity-UltimateGloveBall

Meta Quest ESport Showcase demonstrating multiplayer functionalities in Unity. Including Oculus Social APIs, Avatars, Oculus Platform authentication, Oculus Multiplayer APIs, Photon Realtime, Photon Voice with Oculus Spatializer, and In-app purchases.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ultimate Glove Ball Banner

Ultimate Glove Ball

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.

Project Description

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.

How to run the project in Unity

  1. Configure the project with Meta Quest and Photon

  2. Make sure you're using Unity 2021.3.43f1 or newer.

  3. Load the Assets/UltimateGloveBall/Scenes/Startup scene.

  4. 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.

Dependencies

This project makes use of the following plugins and software:

The following is required to test this project within Unity:

Getting the code

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

Documentation

More information can be found in the Documentation section of this project.

Custom Packages:

Where are the Meta Avatar SDK and Photon 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.

About

Meta Quest ESport Showcase demonstrating multiplayer functionalities in Unity. Including Oculus Social APIs, Avatars, Oculus Platform authentication, Oculus Multiplayer APIs, Photon Realtime, Photon Voice with Oculus Spatializer, and In-app purchases.

License:MIT License


Languages

Language:C# 89.4%Language:HLSL 5.4%Language:ShaderLab 4.0%Language:Objective-C++ 1.0%Language:JavaScript 0.1%Language:Objective-C 0.0%Language:C 0.0%