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.

Matchmaking API

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

The following SDK methods for matchmaking are available to call from your client app. With these methods, you should wait for response messages before making additional requests. Making a call before the previous call has been handled creates a race condition that can cause unintended results.

The methods described below are defined in OVR_Requests_Matchmaking.h. You should review the other Matchmaking header files in the Reference Content section to see all available requests.

Enqueue the user

ovr_Matchmaking_Enqueue2()

ovr_Matchmaking_Enqueue2 adds the user to the matchmaking queue, the user will be continually re-enqueued until they are successfully matched or cancel the process. Match notifications will come in the form of an ovrMessage_Notification_Matchmaking_MatchFound notification with the details of the match. Your app should be listening for notifications on the message queue, please see Requests and Messages for information about the message queue.

Create a room and add it to the pool

ovr_Matchmaking_CreateAndEnqueueRoom2()

CreateAndEnqueueRoom2 creates and enqueues a user-created, multiplayer-capable, Room. Review the CreateAndEnqueueRoom2 page for information about the parameters and return data structure.

Create a matchmaking room

ovr_Matchmaking_CreateRoom2()

CreateRoom2 creates a user-created multiplayer-capable Room.

Add a matchmaking room to the pool

ovr_Matchmaking_EnqueueRoom2()

EnqueueRoom2 adds User Generated rooms previously created by ovr_Matchmaking_CreateRoom2 to the matchmaking queue.

Note: Private user-created rooms created by Room_CreateAndJoinPrivate() cannot be upgraded to a matchmaking room or enqueued in the matchmaking service.

Browse the list of available rooms to join

ovr_Matchmaking_Browse2()

Matchmaking_Browse2 returns a list of rooms that the user can join. This call will not return all Rooms, only the rooms where the user meets the join criteria.

Cancel the matchmaking request

ovr_Matchmaking_Cancel2()

Cancels the matchmaking request. This can be called at any time in the matchmaking process. If the user has already joined the room you will need to call Room_Leave to remove the user.

Report results of a match (matchmaking with skill only):

ovr_Matchmaking_ReportResultInsecure()

Use these methods after the match is over to report the results of the match for consideration in future matches.

Start a match (matchmaking with skill only):

ovr_Matchmaking_StartMatch()

After the match is over, you’ll want to report the results of the match for consideration in future matches.

To see how these APIs are used in a matchmaking implementation, see How to Implement Simple, Advanced and Browse Matchmaking.