API reference
API reference
Select your platform
No SDKs available
No versions available

Achievements Class

The Achievements API enables developers to create engaging experiences by awarding trophies, badges, and awards for reaching goals. Users can see friends' achievements Achievements.GetAllDefinitions(), fostering competition, and earned achievements are displayed in Meta Quest Home, showcasing progress Achievements.Unlock() and driving engagement.

Static Methods

AddCount ( name , count )
Add 'count' to the achievement with the given name. This must be a COUNT achievement. The largest number that is supported by this method is the max value of a signed 64-bit integer. If the number is larger than that, it is clamped to that max value before being passed to the servers.
Signature
static Request<Models.AchievementUpdate> Oculus.Platform.Achievements.AddCount(string name, ulong count)
Parameters
name: string  The api_name of the achievement that will be adding count, which can be retrieved by AchievementDefinition::Name.
count: ulong  The value of count that will be added to the achievement.
AddFields ( name , fields )
Unlock fields of a BITFIELD achievement.
Signature
static Request<Models.AchievementUpdate> Oculus.Platform.Achievements.AddFields(string name, string fields)
Parameters
name: string  The api_name of the Bitfield achievement whose field(s) will be unlocked, which can be retrieved by AchievementDefinition::Name.
fields: string  A string containing either '0' or '1' characters. Every '1' will unlock the field in the corresponding position.
GetAllDefinitions ()
Retrieve all achievement definitions for the app, including their name, unlock requirements, and any additional details.
Signature
static Request<Models.AchievementDefinitionList> Oculus.Platform.Achievements.GetAllDefinitions()
GetAllProgress ()
Retrieve the progress for the user on all achievements in the app.
Signature
static Request<Models.AchievementProgressList> Oculus.Platform.Achievements.GetAllProgress()
GetDefinitionsByName ( names )
Retrieve the achievement definitions that match the specified names, including their name, unlock requirements, and any additional details.
Signature
static Request<Models.AchievementDefinitionList> Oculus.Platform.Achievements.GetDefinitionsByName(string[] names)
Parameters
names: string []  The api_names of the achievements used to retrieve the definition information, which can be retrieved by AchievementDefinition::Name.
GetNextAchievementDefinitionListPage ( list )
Signature
static Request<Models.AchievementDefinitionList> Oculus.Platform.Achievements.GetNextAchievementDefinitionListPage(Models.AchievementDefinitionList list)
GetNextAchievementProgressListPage ( list )
Signature
static Request<Models.AchievementProgressList> Oculus.Platform.Achievements.GetNextAchievementProgressListPage(Models.AchievementProgressList list)
GetProgressByName ( names )
Retrieve the user's progress on the achievements that match the specified names.
Signature
static Request<Models.AchievementProgressList> Oculus.Platform.Achievements.GetProgressByName(string[] names)
Parameters
names: string []  The api_names of the achievements used to retrieve the progress information, which can be retrieved by AchievementDefinition::Name.
Unlock ( name )
Unlock the achievement with the given name. This can be of any achievement type: a simple unlock, count-based, or bitfield-based achievement. The Meta Quest Platform supports three types of achievements: simple, count and bitfield. Each achievement type has a different unlock mechanism. Simple achievements are all-or-nothing. They are unlocked by a single event or objective completion. For example, a simple achievement is unlocked when Frodo reaches Mount Doom. Count achievements are unlocked when a counter reaches a defined target. Define the AchievementDefinition::Target to reach that triggers the achievement. For example, a target achievement is unlocked when Darth Vader chokes 3 disappointing Imperial officers. Bitfield achievements are unlocked when a target number of bits in a bitfield are set. Define the AchievementDefinition::Target and AchievementDefinition::BitfieldLength that triggers the achievement. For example, a bitfield achievement is unlocked when Harry destroys 5 of the 7 Horcruxes.
Signature
static Request<Models.AchievementUpdate> Oculus.Platform.Achievements.Unlock(string name)
Parameters
name: string  The api_name of the achievement that will be unlocked, which can be retrieved by AchievementDefinition::Name.