Oculus Go Development

On 6/23/20 Oculus announced plans to sunset Oculus Go. Information about dates and alternatives can be found in the Oculus Go introduction.

Oculus Quest Development

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.

Sample Apps

Note: You are viewing the Native version of this topic. To view this topic for Unity development, see Sample Apps (Unity). To view this topic for Unreal development, see Sample Apps (Unreal).

The Oculus Platform SDK sample apps are provided examples of how to initialize the SDK, perform the entitlement check, and implement some of the platform features.

These sample apps can be used either as a reference for integrating the Platform SDK in your app, or as a foundation that you can use to build your VR experience.

The features implementations are similar with native and Unity apps, so review all of the apps below, even if they are using a different development platform. The Oculus Platform SDK sample apps are provided examples of how to initialize the SDK, perform the entitlement check, and implement some of the platform features.

Prerequisites

To run the samples you will need the following:

  • A a developer organization in the Oculus Developer Console.
  • An application created and associated with the developer organization. Make sure to retrieve the App Id from the API tab. See Creating and Managing Apps for information about how to create a new application.
  • A correctly configured development environment. Please see the Getting Started Guide for information about configuring your development environment.

App Groupings

If you’re creating both a Rift and mobile application, you can move the mobile application into the Rift application’s App Grouping. Then, copy the OSIG files for the mobile devices you are testing to Assets\Plugins\Android\Assets. This will allow cross-platform interactions between Rift and mobile device users. The Unity samples: VRHoops, VRVoiceChat, and VRBoardGame support cross-platform interaction.

Native Sample Apps

To get started using the native sample apps, download the latest version of the Platform SDK from the downloads page. You can find native samples in the Samples folder of the SDK download.

Samples

The Platform SDK contains the following samples that demonstrate matchmaking, and chat features. Review the code comments to understand more about these samples.

  • Native Sample
  • NetChat
  • VoIPLoopback
  • VoipNetChat

Legacy Samples

The Platform SDK contains CloudStorageExample, which uses the legacy Cloud Storage feature to store game high scores to the cloud. Although some aspects of this sample may be useful, you should use Cloud Storage 2 to store user data.

VRBoardGame

VRBoardGame demonstrates the use of Commerce (IAP) and skill-based Matchmaking. VRBoardGame is a simple two player game set on a 3x3 grid with two pieces and a special ‘power-piece’ that can be acquired with an in-app purchase through the Oculus Store. After an online match is completed, the ranking is sent to the matchmaking service so future match selections will take the user’s skill level into account.

VRHoops

VRHoops uses simple Matchmaking and Peer-to-Peer Networking to create a cross-platform ball shooting game. Simple matchmaking is used to find other players for a match and P2P is used to synchronize player state such as movement of the balls. Also, VRHoops also includes Leaderboards to track player scores and Achievements to track how many times a player has won.

Please see the readme file included with VRHoops for information on how to configure Matchmaking, Achievements, and Leaderboards in the sample app.

VRVoiceChat

VRVoiceChat is a simple app that demonstrates voice chat using Rooms (invites), Voice Chat (sending and receiving voice chat) and Peer-to-Peer Networking (sharing headset positions and rotations).