You need this to get it done:
Action DetailsRequirements and how-to articles for Steam's action:
If you haven't already, download the Steamworks SDK and unzip it.
The Steamworks API officially supports C++, using Microsoft Visual Studio 2008+ on Microsoft Windows, GCC 4.6+ and Clang 3.0+ on macOS and SteamOS/Linux. See official documentation for more information if you are using a third party engine or a programming language other than C++.
Display Name - The name this achievement will have in client notification pop-ups, and in the Community.
Description: A description of this achievement, for displaying in the Community.
Both may be localised.
Requires both an Unachieved Icon (the icon to display when it is not yet achieved) and an Achieved Icon (the icon to display when it is achieved.)
File format: .jpg
Dimensions: 64 x 64 pixels
ID - An automatically-generated numerical ID for each achievement.
API Name - The string used to access this achievement using the API.
Progress Stat - Specifies a stat that's used as a progress bar in the Community for this achievement. The achievement will also automatically unlock when the stat reaches the unlock value.
Set By - Sets who can unlock the achievement. The default is client.
Hidden - If true, a "hidden" achievement does not show up on a user's Community page (at all) until they have achieved it.
Display Name (e.g. "Games Played", "Max Shots Fired", etc.)
May be localised.
ID - An automatically-generated numerical ID for each stat.
Type - The type of this Stat - INT, FLOAT, or AVGRATE.
API Name - The string used to access this stat using the API.
Set By - Sets who can modify the stat. The default is Client
Increment Only? - If set, this stat is only allowed to increase in value over time.
Max Change - If set, sets a limit on the amount that the stat's value can change from one SetStat call to the next.
Min Value - If set, the minimum numerical value this stat may take. By default, the min is the minimum of the underlying numerical type (INT_MIN or -FLT_MAX).
Max Value - If set, the maximum numerical value this stat may take. By default, the max is the maximum of the underlying numerical type (INT_MAX or FLT_MAX).
Default Value - If set, the default value that this stat will initially be set to for a new user. If not set, the default value is zero.
Aggregated - If set, Steam will keep a global total for this stat. See Global Stats below for more information.
How-To ArticlesA list of useful links for you:
A list of useful links for you:
Steamworks Documentation - Steamworks API Reference
Catalogue of all the features available in the Steamworks API.
Steamworks Documentation - Commercial engine and non-C++ language support
Information about what level of support for the Steamworks API is provided by different commercial game engines and programming languages other than C++.
Steamworks Documentation - Steamworks API Overview
Overview of Steamworks API.