Matchmaking API

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

Native - ovr_Matchmaking_Enqueue2()

Unity - Platform.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

Native - ovr_Matchmaking_CreateAndEnqueueRoom2()

Unity - Platform.Matchmaking.CreateAndEnqueueRoom2()

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

Create a matchmaking room

  • Native - ovr_Matchmaking_CreateRoom2()
  • Unity - Platform.Matchmaking.CreateRoom2()

ovr_Matchmaking_CreateRoom2 creates a user-created multiplayer-capable Room.

Add a matchmaking room to the pool

  • Native - ovr_Matchmaking_EnqueueRoom2()
  • Unity - Platform.Matchmaking.EnqueueRoom2()

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

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

Browse the list of available rooms to join

  • Native - ovr_Matchmaking_Browse2()
  • Unity - Platform.Matchmaking.Browse2()

ovr_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

  • Native - ovr_Matchmaking_Cancel2()
  • Unity - Platform.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 ovr_Room_Leave to remove the user.

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

  • Native - ovr_Matchmaking_ReportResultInsecure()
  • Unity - Platform.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):

  • Native - ovr_Matchmaking_StartMatch()
  • Unity - Platform.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.