From our PlayerController we increased initial value (0)+1, and try to write result. However, even achievement of image needs 100 attempts, is unlocked in first try.
Not too familiar with steam, but you have your minimum value for acheivment as Zero, so, when you add +1 its already above 0 and they get it.
Or thats what it seems like to me.
I’m trying to get our support team a Steamworks account we can use to test this with Steamworks tool. I will let you know once we’re able to investigate further.
It looks like Incremental Achievements work differently than regular Achievements. WriteAchievements node will unlock achievement when it is run. Progress input is a bit misleading; that actually refers to a function in engine that is not currently implemented in Steam OSS, SteamUserStats()->IndicateAchievementProgress() for things like showing a progress bar.
Instead, you want to update Stat itself. In Blueprints, you can access this using ReadLeaderboardInteger and WriteLeaderboardInteger nodes. Once value you feed it reaches max limit you’ve set on Achievement, it will automatically unlock (as long as Stat and Achievement are appropriately linked; it looks like yours are).
Today we trying to read and write “stats” using ReadLeaderboardInteger and WriteLeaderboardInteger, but “ReadLeaderboardInteger” node always fails and WriteLeaderboardInteger returns TRUE, but nothing has changed.
Stat “1_0” for Achievement “1/0” and stat “1_1” for Achievement “1/1”, Write and Read Leaderboard Blueprints, GameOuput, DefaultEngine.ini and Steam Achievement status:
I apologize, in a Shipping build it won’t generate logs I need. I’ll keep digging and let you know. Right now I’m seeing a few reports from people who are seeing a potential problem in Leaderboard code, and I’m looking into that now. Here’s a reference that may be helpful:
Progress input is a bit
misleading; that actually refers to a
function in engine that is not
currently implemented in Steam
OSS,
SteamUserStats()->IndicateAchievementProgress()
for things like showing a progress
bar.
does this mean write achievement progress node cannot just show achievement progress?
After some testing when progress=0 nothing happens, when progress anything>0 it just unlocks achievement (which is tied to stats/leaderboard correctly).
I’d recommend looking at our Unreal Match 3 Project. It is done in blueprints, and has a working achievement system, including Get Cached Achievement Progress node functioning as expected. Looking into that project should give you an idea of how to get your setup in working order.
Using “Write Leaderboard Integer” as a workaround (for “Progress” input on “Write Achievement Progress” being broken), does work, provided you also use workaround required for “Write Leaderboard Integer” node (i.e. doubled up stat name), BUT DO NOTE: it only works up to a value of 10, oddly. e.g. if you write stat each time “Item X” is used, with a goal of 20 times, it successfully writes stat for first 10 times, but after that fails. I explained it better here.
It appears that if stats are empty it will return a fail on ReadLeaderboardInteger. When I did a WriteLeaderboardInteger, it succeeded!!!
Thank you so much for sharing your answer!!