SDK Engines Godot Achievements Achievements in HTML5 games are an exciting and rewarding feature that adds an extra layer of engagement for players. They serve as milestones, celebrating a player's progress, skill, and dedication.
Support
Use this to determine if you can implement achievements for your game on the current platform.
Copy Bridge.achievements.is_supported
Check if getting list of achievements is supported.
Copy Bridge.achievements.is_get_list_supported
Check if built-in popup is supported.
Copy Bridge.achievements.is_native_popup_supported
Unlock achievement
Unlocks achievement for a player.
Godot 3.x Godot 4.x
Copy func _ready():
var options
match Bridge.platform.id:
"y8":
options = {
"achievementkey": "YOUR_ACHIEVEMENT_KEY",
"achievement": "YOUR_ACHIEVEMENT_NAME"
}
"lagged":
options = {
"achievement": "YOUR_LEADERBOARD_ID",
}
Bridge.achievements.unlock(options, funcref(self, "_on_unlock_completed"))
func _on_unlock_completed(success):
print(success)
Copy func _ready():
var options
match Bridge.platform.id:
"y8":
options = {
"achievementkey": "YOUR_ACHIEVEMENT_KEY",
"achievement": "YOUR_ACHIEVEMENT_NAME"
}
"lagged":
options = {
"achievement": "YOUR_LEADERBOARD_ID",
}
Bridge.achievements.unlock(options, Callable(self, "_on_unlock_completed"))
func _on_unlock_completed(success):
print(success)
Get List
Returns the achievement list in JSON
Godot 3.x Godot 4.x
Copy func _on_get_list_button_pressed():
var options
Bridge.achievements.get_list(options, funcref(self, "_on_get_list_completed"))
func _on_get_list_completed(success, list):
print(success)
match Bridge.platform.id:
"y8":
for item in list:
print("achievementid:" + str(item.achievementid))
print("achievement:" + str(item.achievement))
print("achievementkey:" + str(item.achievementkey))
print("description:" + str(item.description))
print("icon:" + str(item.icon))
print("difficulty:" + str(item.difficulty))
print("secret:" + str(item.secret))
print("awarded:" + str(item.awarded))
print("game:" + str(item.game))
print("link:" + str(item.link))
print("playerid:" + str(item.playerid))
print("playername:" + str(item.playername))
print("lastupdated:" + str(item.lastupdated))
print("date:" + str(item.date))
print("rdate:" + str(item.rdate))
Copy func _on_get_list_button_pressed():
var options
Bridge.achievements.get_list(options, Callable(self, "_on_get_list_completed"))
func _on_get_list_completed(success, list):
print(success)
match Bridge.platform.id:
"y8":
for item in list:
print("achievementid:" + str(item.achievementid))
print("achievement:" + str(item.achievement))
print("achievementkey:" + str(item.achievementkey))
print("description:" + str(item.description))
print("icon:" + str(item.icon))
print("difficulty:" + str(item.difficulty))
print("secret:" + str(item.secret))
print("awarded:" + str(item.awarded))
print("game:" + str(item.game))
print("link:" + str(item.link))
print("playerid:" + str(item.playerid))
print("playername:" + str(item.playername))
print("lastupdated:" + str(item.lastupdated))
print("date:" + str(item.date))
print("rdate:" + str(item.rdate))
Show Native Popup
Some platforms support built-in achievement list which is shown in overlay
Godot 3.x Godot 4.x
Copy func _on_show_native_popup_button_pressed():
var options
Bridge.achievements.show_native_popup(options, funcref(self, "_on_show_native_popup_completed"))
func _on_show_native_popup_completed(success):
print(success)
Copy func _on_show_native_popup_button_pressed():
var options
Bridge.achievements.show_native_popup(options, Callable(self, "_on_show_native_popup_completed"))
func _on_show_native_popup_completed(success):
print(success)
Last updated 2 months ago