ACTION GAME MAKER

ACTION GAME MAKER

Not enough ratings
Steam Achievements
By korytoombs
A Basic Guide on how to put Steam Achievements into your game.
   
Award
Favorite
Favorited
Unfavorite
Steam Achievements
This guide shows you how to set up one Steam Achievement inside GameScene. You will need to take further steps to add achievements to other places.

Step 1 - Make sure the backend of your Steamworks is set up properly and that Steam is running while you do this.


Step 2 - Download the libraries you need to integrate Steam Achievements. Go to the top and find the button that says AssetLib. You will need an internet connection to do this. Type "Steam" in the search bar. We want GodotSteam GDExtension 4.1 / 4.2 / 4.3.


Step 3 - At the top left, you will find GameScene. Click to add a new script to it. Change the var AppID to equal your AppID. Change setAchievement("A001") to match the Achievement Name in SteamWorks (Not the public name; refer to the picture above. You can see 2 achievements. One is called A000 and the other is called A001. This script should unlock A001.)


extends GameScene var AppID = "3408600" func _init(): OS.set_environment("SteamAppID", AppID) OS.set_environment("SteamGameID", AppID) # Called when the node enters the scene tree for the first time. func _ready() -> void: Steam.steamInit() var isRunning = Steam.isSteamRunning() if !isRunning: print("ERROR: Steam not Running!") return print("Steam is Running!") var id = Steam.getSteamID() var name = Steam.getFriendPersonaName(id) print("Username: ", str(name)) setAchievement("A001") func setAchievement(ach): var status = Steam.getAchievement(ach) if status["achieved"]: print("Already Unlocked!") return Steam.setAchievement(ach) print("Unlocked Achievement: ", ach) # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass

Step 4 - At the top right, you will see a tab we need to change to compatibility. Press F5 to run your game. You should get the achievement inside Action Game Maker without having to upload your game.


Step 5 - To retest your achievements, download Steam Achievement Manager. You can use it to lock or unlock Steam Achievements for any game. Be careful not to use it on certain online games that have terms of use against hacking or cheating.







4 Comments
korytoombs  [author] 4 Jul @ 9:24am 
I don't have beta or demo access, so I can't verify if this works or not. Even so, you should wait for some sort of "Execute Script" option inside the visual scripting to use this efficiently.
shootingmywayout 4 Jul @ 8:51am 
Kory have tried this demo again?
According to AGM notes patch 1.0.7 should have fixed some of these issues.
korytoombs  [author] 12 Jun @ 5:36pm 
This issue should be worked on by the devs. Might be fixed in future update.
shootingmywayout 11 Jun @ 5:38pm 
This throws an error now.
I'm getting...
core\extension\gdextension.cpp:970 - GDExtension only compatible with Godot version 4.1.0 or later: res://godotsteam/godotsteam.gdextension
Failed loading resource: res://godotsteam/godotsteam.gdextension. Make sure resources have been imported by opening the project in the editor at least once.