Develop
Develop
Select your platform

Challenges

Updated: Jul 23, 2024
Notice of feature support change
The Scoreboard app has been officially deprecated as of December 20th, 2024. This change will not break existing apps using the Challenges API.
This is a Platform SDK feature requiring Data Use Checkup
To use this or any other Platform SDK feature, you must complete a Data Use Checkup (DUC). The DUC ensures that you comply with Developer Policies. It requires an administrator from your team to certify that your use of user data aligns with platform guidelines. Until the app review team reviews and approves your DUC, platform features are only available for test users.
Apps for children can't use Platform SDK features
If you self-certify your app as primarily for children under 13, you must avoid using Platform SDK features. This restriction ensures compliance with age-specific guidelines. To ensure compliance, the Data Use Checkup for your app is disabled.
Amplify social interactions in your application with Challenges. Challenges leverage Destinations and Group 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.

Purpose

The purpose of this documentation is to guide developers in setting up and implementing Challenges in their Oculus applications.
It covers various aspects such as creating and sending invites, leveraging Destinations and Group Presence for enhanced competition, understanding the asynchronous nature of Challenges, ranking Challenges, and integrating them with Leaderboards. By following this guide, developers can effectively incorporate Challenges into their applications to promote social engagement and friendly competition among players.
User Data Warning
Avoid using any personal identifying information.

Challenge Client APIs

Get Challenge

This method retrieves detailed information for a single challenge by providing the challenge ID
ovr_Challenges_Get
If no error occurs, this method returns a challenge.

Get Challenges Entries

This method retrieves a list of entries for a specific challenge, with options to filter and limit the results.
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 ovr_Challenges_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.

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
leaderboardName
Query
The name of the leaderboard this Challenge will be associated with.
string
include_active_challenges
Query
Optional. Include challenges that are ongoing.
Boolean
include_past_challenges
Query
Optional. Include challenges with end dates in the past.
Boolean
include_future_challenges
Query
Optional. Include challenges with start dates in the future.
Boolean
viewer_filter
Query
Optional. 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.”

Server to Server APIs

For details on challenge server-to-server APIs, see Challenges Server to Server APIs.
Did you find this page helpful?
Thumbs up icon
Thumbs down icon