Writing Values to your Achievements
The Write Achievement Progress will send a message up to the platform's achievement system to write a percentage (0.0% - 100.0%) based Progress to the provided achievement for the given user (Player Controller and User Tag). For "one off" achievements you will always pass in
100.0 for Progress, while for incremental achievements, you'll be passing in some lesser percentage until the user reaches
100.0 for that achievement.
For iOS Game Center, this value is actually sent as an integer, as they only have 1-100 incremental achievements. A float is sent for Google Play Services.
Note that it is a latent node, and thusly has a number of execution output pins. The top most is a "pass through," that works like any other execution output pin. The other two pins (On Success, and On Failure) will execute when the online service returns (or fails to return) a value. When the execution returns a success the Written Achievement Name, Written Progress, and Written User Tag will return non-null values equal to what you passed into the node.
The example below is from the Global Game Instance Blueprint in the Unreal Match 3 sample game. There's a loop that compares the current achievement value to the metrics required to increase that achievement, and if progress has been made, the Write Achievement event is called:
This was done because latent nodes can't be used in Functions.