12 Free Steam Achievement Set Tools After the Client Beta - 2026
![]()
You do not need a paid plugin to use steam achievement set tools. After October 15, 2026, the free kit is already on the partner site and in the Steam client beta. The Steamworks achievements guide says sets are configured in Steamworks. The game keeps the same API names. There is no new SDK in this list.
This page names twelve tools, what each one is for, and where it lies. The first four are the minimum. The other eight are how you scale past a single test set. None of them is a substitute for reading who still sees a row before you archive, and none of them is the fill-in lab.
Use the sets what-changed map when you need the rules for base sets and DLC completion. Use the first indie worksheet when you have not created a set on purpose yet. Use the archive refusal when someone wants to retire a live seasonal achievement tonight. This URL is the toolbox.
Time: 20 minutes to gather the minimum four. A full pass over all twelve is an afternoon, mostly because CSV import can retire rows if you treat a spreadsheet like a scratch pad.
Why this matters now
The October 15 client announcement put sets in the Steam client beta. Search results fill up with “what changed” posts and with games Valve already listed as using sets. Indies then go looking for a downloader. There isn’t one. The editor gained Create New Set, a developer-only flag, bulk move, and CSV columns for setid and archived. Those are the tools.
The Verge reported the player-facing page in that same client beta, with a progress bar per set. Seeing that page is a client-channel choice, not a store purchase. Publishing your own set is still the Publish tab you already have.
Direct answer: Install nothing new. Open the achievements editor, keep the official guide in a tab, opt the test machine into the Steam client beta when you need to see bars, and do your first set as developer-only. That is the minimum kit.
Who the list is for
| Reader | Use the list to… |
|---|---|
| Beginners | Stop hunting a paid “achievement set manager” |
| Developers | Pick the CSV or Bulk Move only after the minimum four are in place |
| Creators | Name the free tools in a devlog without implying an SDK upgrade |
| Companies | See which tools can publish or delete, and which only draft |
The four-tool minimum
If you only touch four things this week, touch these. Skipping one of them is how teams publish a set they meant to practice.
| # | Tool | You have it when… |
|---|---|---|
| 1 | Achievements editor | Manage Achievements is open on the app you intend |
| 2 | Steamworks achievements guide | You can say “no SDK update” without guessing |
| 3 | Steam client beta | One test account can see the new achievements page |
| 4 | Developer-only set | The first new set is hidden from players |
Tools 5 through 12 do not repair a missing developer-only flag. They do not replace the guide. A spreadsheet cannot tell you that the client beta is where players see set bars.
1. Achievements editor (Manage Achievements)
This is the tool. Steamworks App Admin, Edit Steamworks Settings, Stats & Achievements, Manage Achievements. Create New Set lives here. Create Achievement lives here, inside the set the row should belong to. The In Set field is the assignment. The toolbar shows how many achievements and sets you are using against the caps. The table shows each row’s id, its set, how it is set, and its global unlock rate.
Use it for: creating one set, reading the base set, checking a global unlock rate before anyone says “archive.”
Limit: Saves are drafts. The editor is not the Publish tab. An empty set does not appear to anyone. The base game set cannot be renamed, deleted, or reordered, and it still counts toward the 40-set cap. Unvetted apps stay on a 100-achievement cap. Vetted apps go to 5,000. Archived achievements still count toward that cap, so the counter is not a junk drawer.
Do not: open the shipping app’s editor as your first click if the worksheet still has a blank lab app id. The editor does not know which app is “production” in your head. The app id in the URL is the app you are editing.
2. Steamworks achievements guide
The guide is the spec the editor is implementing. The FAQ on that page is the shortest tool in the kit. You do not update the game or the SDK to use sets. Existing achievements sit in the base set. Archive and delete are different. The set cap is 40 including the base set.
Use it for: settling an argument in the ticket without screenshots of a Discord reply. Link the heading you mean. “The guide says no SDK update” is a checkable sentence. “I think sets need SDK 1.65” is not, and it confuses this beta with other Steamworks changes.
Limit: The page says Achievement Sets are in beta and that the documentation will change. Re-read the archive and DLC sections the week you publish, not only the week you bookmark. The guide’s sample API name ACH_WIN_ONE_GAME is from the Spacewar sample. It is not a suggestion to reuse that string if your game already did.
Do not: treat a blog recap, including this one, as newer than the guide. If a sentence here and a sentence there disagree, the guide wins.
3. Steam client beta
The new achievements page, with per-set progress, is in the latest Steam client beta as of the October 15 reports. Your partner editor can be correct and a playtester on the default client can still see one flat list. Those are different tools.
Use it for: one developer machine, after you have a published set you are willing for developers to see, or when you are looking at a game Valve already shipped sets on and you want to see bars rather than imagine them.
Limit: Opting every playtester into the client beta is not a launch plan. The beta client moves for reasons that have nothing to do with your set names. Do not file a “sets are broken” bug from a stable-client screenshot. Do not promise in a patch note that every player’s overlay changed on October 15.
Do not: confuse the client beta with a beta branch of your depot. The client channel is Valve’s. Your playtest branch is yours. Sets do not require a depot upload at all.
4. Developer-only sets
A set marked developer-only is visible only to developers of the app, released or not. Only developers can unlock its achievements. The editor’s visibility label Hidden by restrictions covers this case. The guide tells you to test new achievements here before players see them.
Use it for: the first set you ever create, and for any icon or name you are not ready to spoil. It is the free staging slot. You do not need a second app id for the flag to work, though a second app id is still the safer lab if you have one.
Limit: The flag is not Publish protection. A later edit can clear it. Visibility then becomes Will be visible upon publish, and the next Publish makes it a player-facing set. A developer-only set with no achievements still does not appear. Moving an earned public achievement into a developer-only set hides it from the players who earned it. The editor warns on that move. Heed the warning. This flag is for new rows.
Do not: call a developer-only set “archived.” Archive is a different flag with different player rules. Mixing the words in a ticket is how the wrong menu gets clicked.
5. Your own achievements preview
The top of the editor links a preview of your achievements on your own achievements page. Use it before release. It is the free way to see names, icons, and set grouping on your account without asking a player to opt into anything.
Use it for: checking that a set name is short enough to read, that you did not type “DLC” into a name Steam will already prefix with DLC, and that a developer-only set is not sitting in the public list.
Limit: Your account is a developer account on that app. The preview can show you rows a normal player must not see. A pretty preview is not evidence the stable client shows the same layout. It is also not evidence you published. Drafts preview for you. Players wait on the Publish tab.
Do not: unlock a shipping API name from the preview session and then forget reset discipline. Tool 11 exists for clearing test unlocks. The preview is not a wipe button.
6. Filter box and the unlock-rate column
The achievements table has a Filter box for name, description, or API name. The same table shows global unlock rate. Together they are the free audit tool for “which rows are seasonal” and “has anyone earned this.”
Use it for: finding every API name that contains WINTER or LAB_ before a publish. Reading a non-zero unlock rate before anyone proposes delete. The editor recommends archive instead of delete when players have already earned the row. The rate column is how you know that recommendation applies. The decision to archive still belongs on the player-safe plan, not in the filter box.
Limit: Global unlock rate is not a list of Steam ids. Do not scrape profiles to decorate a spreadsheet. A rate of zero on a brand-new lab row is expected. A rate of zero on a row you shipped last year means you should still be careful, because “zero” and “the stat has not refreshed in your head” are different stories. Trust the column you see today, and write it down.
Do not: filter, select all, and bulk-move the results into a new set in the same motion. The filter is a view. Bulk Move is tool 7, and it can hide earned achievements.
7. Bulk Move
Bulk Move sits in the achievements table header. You can filter by API name, select the visible rows, and choose a destination set or create a new set in the same flow. Changing one row’s In Set field is the single-row version of the same idea.
Use it for: a real regroup you have already written down, on a lab app, or on a shipping app only after you have read the warnings. Example the guide itself gives: filter by API name, select the group, move them together.
Limit: The editor warns before a move that can affect players. Moving from a visible set into a hidden or unreleased set hides those achievements from players who already unlocked them. Moving into a set that already has player progress can break completion. Adding achievements to a set players have already completed does not un-complete them, and it can look wrong. The guide’s advice is a new set for new content, not a bulk pour into a finished set.
Do not: use Bulk Move to “archive by hiding.” A hidden destination is not an archive. Archive has its own rules for who still sees the row. And do not bulk-move on the shipping app during the same hour as the first-set lab.
8. Definitions CSV
On Bulk Import/Export, Export Definitions (.csv) downloads one row per achievement. The file name shape is an app-specific prefix plus achievements-definitions.csv. Columns that matter for sets include api_name, setid, and archived. setid blank means the base game set. spoiler, permission, and progress-stat columns are in the same file. Names and descriptions are not in this file.
Use it for: assigning many existing API names to set ids you already created in the editor. Reviewing Pending Changes before you click Save imported data. Nothing is saved until that click. Header notes in parentheses, such as a true-or-false hint, are ignored on upload.
Limit: Rows are matched by API name. A renamed API name in the sheet looks like a new achievement, and the old one can be removed if you meant a rename. Achievements missing from the file are kept unless you check Delete these achievements. That checkbox is a wipe switch. archived: true in a cell is a real archive, not a comment. Progress stats must already exist. If the game has no achievements yet, the export is a template whose example rows start with EXAMPLE_. Delete those or type over them before you upload the template into an app that matters.
Do not: upload a definitions sheet and a localization sheet in one drop and assume both applied to every row. Localization for achievements missing from the definitions file will not update when the two go up together.
9. Set localization CSV
Export Set Localization (.csv) is one row per set. setid is required. English is required. Other language columns follow the languages you configured. The export name ends in achievement-sets-localization.csv.
Use it for: translating set names after the sets exist. Players see these names in the client. Short names survive. The guide says to keep them short on purpose.
Limit: You cannot create a set from this file. Create it in the editor first. You cannot rename the base game set here. A missing English cell is a broken row, not a fallback to the internal id. Configure languages before you export if you want those columns present. The language control is the toolbar Language selector, or Configure Languages on the Bulk Import/Export tab. A warning icon marks sets and achievements that are missing text.
Do not: put the word “DLC” in a DLC set’s localized name. Steam already prefixes DLC sets. Translating “DLC Soundtrack” into every column doubles the prefix in every language, not only English.
10. Icon upload and the localization CSV for names
Two files sit beside set names, and they are free. They are also the release checklist.
Icon files use the API name plus _ACHIEVED or _UNACHIEVED, for example LEVEL_20_ACHIEVED.png. Drop them on the same upload box as the CSVs. Steam assigns them to the matching achievement. Automatically generate unachieved icons builds a grayscale locked icon from the achieved one. If a definitions CSV is in the same upload, icons attach only to rows in that CSV. Upload icons alone if you want to skip that coupling.
The achievement localization CSV is a different export (achievements-localization.csv). Each achievement has two rows, field = name or description. api_name is case sensitive. Language columns match the configured list.
Use it for: the checklist line that says every achievement needs a name in each configured language and an icon. A set with a perfect setid still fails release if the icons are missing.
Limit: Spoiler and archived achievements are omitted from the store-page achievements panel. A beautiful icon does not put an archived row back on that panel. Grayscale unachieved icons are a convenience, not a style guide. Replace them if the locked state needs its own silhouette.
Do not: rename the PNG to the display name. The match key is the API name. Winter Night_ACHIEVED.png will not attach to WINTER_1.
11. Steam client console
The guide’s testing section tells you to start the client with steam.exe -console and then use achievement_clear or reset_all_stats when you need to set or clear an achievement without shipping new game code. That is the free reset tool. It is older than sets, and it still applies, because unlock calls did not change.
Use it for: clearing a developer-only lab unlock on your own account before you screenshot a locked icon. Confirming a grant still works after you moved a row between sets, on a lab app, with an API name the shipping branch does not contain.
Limit: The guide names those two commands and does not turn this page into a console manual. Do not invent extra flags. reset_all_stats is broad. Run it on a test account, not on the account you use to show a publisher your finished profile. The console does not publish Steamworks config, and it does not archive a row for every player. It changes the account you are driving.
Do not: use the console on a live seasonal achievement to “simulate archive.” Archive is a published configuration change. A cleared stat on your account is a cleared stat on your account. If a real grant never arrives in a Unity build, the App ID and callback fix is the debugging page. The console will not repair a missing SteamAPI_Init.
12. Publish tab and the Supported Features checkbox
Drafts become player-visible from the Publish tab in Edit Steamworks Settings, the same tab as your other Steamworks changes. Pending achievement edits ride along with whatever else is in that pile. The store page’s basic info still has a Steam Achievements checkbox under Supported Features. The release checklist wants that box, plus a name in each configured language, plus an icon on every achievement.
Use it for: the moment the plan says the build that stops awarding a retired API name is already the default players run, or the moment a reviewed set is meant to leave developer-only. One owner. One window.
Limit: This is the sharp tool. It is last because using it first makes the other eleven irrelevant. “Will be visible upon publish” means the set is not public yet and will be after this tab. Developer-only sets stay hidden from players even after publish, which is the point of tool 4, and it is also why publish-by-habit is still a configuration change you have to explain. There is no separate “publish only the set name” button in the guide’s description. Assume the pending pile publishes together.
Do not: publish to force a preview, to clear a yellow badge, or to see a lab set named LAB SET on the shipping app. The worksheet’s pass condition is that this tab was not clicked.
What is not in the kit
A new Steamworks SDK build is not a set tool. Spacewar inside the SDK is a sample of the old unlock calls, which still matter, and it is not a set designer. A paid achievement spreadsheet product is not required. The store achievements panel is an output, not an editor. It hides spoiler and archived achievements and, on a DLC store page, shows that DLC’s set. You read it after publish. You do not author sets there.
Community pages at https://steamcommunity.com/achievements/ plus an app id show a game’s achievements without a specific player’s progress. Useful for looking at a game that already shipped sets. Useless for drafting yours.
The Steamworks resource list covers depots and partner docs beyond achievements. It does not add a thirteenth set tool.
Which tool, given the job
| Job | Tool | Leave closed |
|---|---|---|
| Learn the buttons once | 1, 2, and 4 on a lab app | 12 |
| See set bars the way a beta-client player does | 3, on a game that already published sets | Your shipping Publish tab |
| Check a name and icon on your account | 5 | 11, until you actually unlocked something |
| Find a seasonal API name and its unlock rate | 6 | 7, until the destination set is chosen |
| Move twenty rows you already listed | 7 or 8 | Archive column, unless the retire plan is signed |
| Translate set names | 9, after the sets exist | Base-set rename |
| Pass the icon and language checklist | 10 | Publish, until the warning icon is gone |
| Clear your own test unlock | 11 | reset_all_stats on a public-facing account |
| Make a reviewed set public | 12, one owner | The same hour as the first lab |
If the job is “retire December’s achievements,” you are not in this table yet. You are on the archive page, and the definitions CSV archived column is only the implementation after that plan exists.
Common kit mistakes
Buying or building a wrapper because the news post felt like an API break. The FAQ is a tool. Use it before you schedule an SDK upgrade.
Opening Bulk Import on the shipping app with EXAMPLE_ rows still in the file. Those rows become achievements if you upload the template as-is.
Checking Delete these achievements because the sheet felt cleaner without old rows. Missing rows are kept by default. The checkbox removes them for everyone, which is worse than archive.
Setting archived to true in a cell you meant as a note. The column is boolean and live after save and publish.
Filtering, then Bulk Moving, then publishing because the table looked tidy. Tidy is not a player-safe plan.
Using the client beta screenshot from someone else’s game as proof your unpublished draft is live. Their sets are published. Yours are a draft until tool 12.
Treating grayscale auto-icons as done. The checklist wants an icon. It does not want your locked achievements to look like a placeholder if the store panel is part of the capsule story. Archived and spoiler rows will not be on that panel anyway.
Running reset_all_stats on the account that holds your real completion badge. The console is per account. Sets made completion badges easier to earn by accident if you archive gaps. Do not also wipe the account you meant to show an investor.
A minimum-kit evening
- Bookmark the achievements guide and read the sets FAQ once.
- Open Manage Achievements on a non-shipping app. Write down the achievement count and the set count.
- Create nothing else if you are tired. If you create one set, mark it developer-only and do not open Publish.
- On a separate machine, note whether the Steam client is on the beta branch. You only need that note when you are about to claim “players can see sets.”
That is tools 1 through 4. Tools 5 through 12 wait until a real set has a name you intend to keep. The worksheet is the form for step 3. This page is why step 3 does not start with a CSV.
Key takeaways
- Steam achievement set tools after October 15, 2026 are free and already in Steamworks. There is no SDK download in the kit.
- The minimum four are the achievements editor, the official guide, the Steam client beta, and a developer-only set.
- The editor saves drafts. The Publish tab is tool 12, and it publishes the pending pile.
- Developer-only hides a set from players. It does not replace “do not publish,” and it is not archive.
- Filter plus the global unlock rate column tells you whether delete would wipe earners. It does not authorize the wipe.
- Bulk Move and the definitions CSV can hide earned rows or set
archivedtrue. Read pending changes before save. - Set names are a separate CSV. The base set cannot be renamed. Do not put “DLC” in a DLC set’s name.
- Icons match the API name with
_ACHIEVEDand_UNACHIEVED, not the display name. steam.exe -consolewithachievement_clearandreset_all_statsclears your test account. It does not archive the game.- The new set progress page is on the client beta. A stable-client screenshot does not prove your draft failed.
- Unvetted apps still have a 100-achievement cap. Archived rows still count. No tool in this list refunds slots.
FAQ
Do Steam achievement sets require a paid tool or a new SDK?
No. The Steamworks guide says sets are configured in the partner site and unlocked with the same API names as before. The twelve tools above are the editor, the docs, the client beta, and the import and test controls that already ship with a partner account.
What is the smallest free kit if I only have an hour?
The achievements editor, the official guide, a note about whether your test machine is on the Steam client beta, and one developer-only set that you do not publish. Skip CSV, Bulk Move, and the Publish tab.
Which tool shows per-set progress the way players will see it?
The Steam client beta, on a game that has already published sets. Your editor preview shows your account’s view of your draft or published config. It is not the same check as a stable-client player.
Can I create sets from the CSV alone?
You can assign setid in the definitions CSV only for a set that already exists. Create the set in the editor first. The set localization CSV cannot create sets and cannot rename the base set.
Is the definitions CSV a safe place to archive achievements?
Only after a written plan. The archived column is a real flag. Uploading it and later publishing it changes who sees the row and what counts toward completion. The default “missing from CSV” behavior keeps rows you forgot. The Delete these achievements checkbox does not.
How do I undo a test unlock without changing the game build?
The guide points at the Steam client console, started with steam.exe -console, and the commands achievement_clear and reset_all_stats. Use a test account. That does not publish or archive anything for other players.
Why did my set not show up for a friend?
An empty set does not appear. A developer-only set does not appear for players. An unpublished draft does not appear for players. A friend on the default Steam client may also be off the client beta that carries the new page. Check those four before you touch Publish.
Do I need all twelve tools to ship one DLC set?
No. Editor, guide, developer-only until the DLC is ready, then Publish when the DLC restriction and the store page are real. Add the set localization CSV and the icons before the release checklist. Bulk Move and the console are optional. The client beta is how you look at the public page, not how you author the DLC restriction.
What to do next
Open the guide and the editor. Confirm the four-tool minimum on a lab app. Leave Publish closed.
When you are ready to practice the clicks, fill in the worksheet rather than improvising a second set in the shipping app. When someone treats this list as permission to retire a holiday achievement, hand them the archive page instead of the definitions CSV.
Bookmark this list for the next person who asks which plugin to buy. The honest answer is none.