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.

Challenges

Challenges Availability

Challenges are not open to all developers at this time. Please contact the Facebook Reality Labs Developer Relations contact to access this feature.

Amplify social interactions in your application with Challenges. Challenges leverage Destinations & Rich Presence to create shareable links that allow players to compete directly based on score. Sending Challenge notifications brings new fun to the games your players already love.

Players can repeatedly challenge strangers and get to know them through this interaction. These Challenges are also asynchronous, so players aren’t restricted to being online at the same time.

Challenges can be ranked by highest or lowest scores within a time period. Any application that uses Leaderboards gets Challenges for free. It appears in the Scoreboards UI. Players can create Challenges and send invites through the Challenges app.

See more about implementing Leaderboards in Platform Services to get started with Leaderboards and Challenges.

Challenge Client APIs

Get Challenge

This method retrieves an array of challenges.

ovr_Challenges_Get

If no error occurs, this method returns a challenge.

Delete Challenge

This method deletes a challenge.

ovr_Challenges_Delete

If no error occurs, this method succeeds.

Get Challenges Entries

This method retrieves an array of challenge entries.

ovr_Challenges_GetEntries

If no error occurs, this method returns a list of challenge entries.

Get Challenges Entries After a Given Rank

This method retrieves an array of challenge entries after a given rank.

ovr_Challenges_GetEntriesAfterRank

If no error occurs, this method returns a list of challenge entries.

Get Challenge Entries By Ids

This method retrieves an array of challenge entries based on the given ids.

ovr_Challenges_GetEntriesByIds

If no error occurs, this method returns a list of challenge entries.

Get More Challenge Entries

This method applies if any of the GetEntries methods above have next or previous entries. To continue fetching, use these methods to check if there are more entries.

ovr_ChallengeEntryArray_HasNextPage or ovr_ChallengeEntryArray_HasPreviousPage

If there are more, then use the below methods to retrieve an array of those entries.

ovr_Challenges_GetNextEntries or GetPreviousEntries

If no error occurs, this method returns a list of challenge entries.

Join a Challenge

This method lets players join a challenge.

ovr_Challenges_Join

If no error occurs, this method returns the updated challenge.

Leave a Challenge

This method lets players leave a challenge.

ovr_Challenges_Leave

If no error occurs, this method returns the updated challenge.

Decline a Challenge Invite

This method declines a challenge invite.

ovr_Challenges_DeclineInvite

If no error occurs, this method returns the updated challenge.

Create a Challenge

This method creates a Challenge.

ovr_Challenges_Create

The following parameters are available through ovrChallengeOptions.

Parameter Param type Description Type
leaderboardNameQuery Required. The name of the leaderboard this Challenge will be associated with. string
titleQuery The title of the Challenge. string
descriptionQuery A description of the challenge. string
visibilityQuery The visibility of the challenge -
  • PUBLIC: Any user can see the challenge, and can join even without an invite.
  • INVITE_ONLY: Any user can see the challenge, but only those with an invite can join it. This is intended to be used for e.g. challenges with special limited participants, but when you still want to publicize the challenge so others can observe.
  • PRIVATE: Only those with an invite can see the challenge or join it. This is generally only for user-created challenges among friends, not developer-created challenges.
Enum, value “PUBLIC”, “INVITE_ONLY”, or “PRIVATE"
start_dateQuery Start date of the challenge. By default, the challenge starts immediately. date
end_dateQuery End date of the challenge. Defaults to three hours later. date

Get A List of Challenges In Your Application

This method retrieves a list of challenges in your application. By default, it returns only active challenges.

ovr_Challenges_GetList

The following optional parameters are available through ovrChallengeOptions.

Parameter Param type Description Type
leaderboardNameQuery The name of the leaderboard this Challenge will be associated with. string
include_active_challengesQuery Optional. Include challenges that are ongoing. Boolean
include_past_challengesQuery Optional. Include challenges with end dates in the past. Boolean
include_future_challengesQuery Optional. Include challenges with start dates in the future. Boolean
viewer_filterQueryOptional. Default is ovrChallengeViewerFilter_AllVisible.
  • ovrChallengeViewerFilter_AllVisible - Returns all invited and participating challenges that are public or invite-only. Excludes private challenges.
  • ovrChallengeViewerFilter_Participating - Returns challenges the view is participating in.
  • ovrChallengeViewerFilter_Invited - Returns challenges the viewer is invited to.
  • ovrChallengeViewerFilter_ParticipatingOrInvited - Returns challenges the viewer is either participating in or invited to.
Enum, value “ovrChallengeViewerFilter_AllVisible”, “ovrChallengeViewerFilter_Participating”, “ovrChallengeViewerFilter_Invited”, or "ovrChallengeViewerFilter_ParticipatingOrInvited

This method also supports pagination through ovr_Challenges_GetNextChallenges or GetPreviousChallenges. See more with “Get More Challenge Entries.”

Change a challenges visibility, start, or end date

Use this method to change a challenge’s visibility, start, or end date.

ovr_Challenges_UpdateInfo

The following optional parameters are available through ovrChallengeOptions.

ParameterParam TypeDescriptionType
visibilityQuery Either PUBLIC, INVITE_ONLY, or PRIVATE.
  • PUBLIC: Any user can see the challenge, and can join even without an invite.
  • INVITE_ONLY: Any user can see the challenge, but only those with an invite can join it. This is intended to be used for e.g. challenges with special limited participants, but when you still want to publicize the challenge so others can observe.
  • PRIVATE: Only those with an invite can see the challenge or join it. This is generally only for user-created challenges among friends, not developer-created challenges.
Enum, value PUBLIC, INVITE_ONLY,or PRIVATE
start_dateQuery Date Integer that represents a Unix timestamp
end_dateQuery Date. The end date defaults to 3 hours after the start date. Integer that represents a Unix timestamp

Server to Server APIs

For details on challenge server-to-server APIs, see Challenges Server to Server APIs.