Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions automated_updates_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,10 @@
{
"date": "2026-07-07",
"summary": "Improved keyboard docs: added 'Key just pressed' (held vs one-frame) and 'Any key released' conditions, control-remapping note, and a reference list of valid key names"
},
{
"date": "2026-09-08",
"summary": "Expanded Steamworks docs with an overview of each feature area (achievements, player info, ownership/DLC, Cloud, rich presence, matchmaking, Workshop, Steam Input) and a Steam-client-only platform note"
}
]
}
44 changes: 44 additions & 0 deletions docs/gdevelop5/all-features/steamworks/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,50 @@ To use Steamworks in GDevelop, you will need to:
3. Scroll down to the **Steamworks section** and enter your **App ID** in the corresponding text-field
4. Use actions, conditions and expressions in the "**Steamworks**" section

!!! note

Steamworks features only work when the game runs through the Steam client on Windows, Linux or macOS. On web, mobile or when the game is launched outside of Steam, these actions do nothing. Design your game so it still runs without Steam (for example when previewing in the editor).

## Available features

The Steamworks integration is grouped into several sections in the instruction list. Below is an overview of what each one is for.

### Achievements

Use the achievement actions to **claim** an achievement when the player reaches a milestone (this is what unlocks it on Steam), and to **unclaim** it (mainly useful during testing to reset progress). The "Player has previously claimed the achievement" condition lets you check whether an achievement is already unlocked, for example to show it in an in-game achievement list.

Achievements must first be created in your Steamworks partner dashboard; the **Achievement ID** used in GDevelop must match the API name you set there.

### Player information

Expressions in the **Player** category give you information about the current user: their registered Steam **Name**, their unique **Steam ID**, their **country code**, and their **Steam level**. The Steam ID is too large to be handled as a number, so always use it as a text (string).

You can also detect whether the game **is running on a Steam Deck** to, for instance, switch to a controller-friendly interface.

### Ownership and DLC

Check whether the player **owns another application** on Steam (useful for cross-game bonuses) or has **installed a piece of DLC**, so you can unlock the corresponding content.

### Steam Cloud

Steam Cloud saves let a player's progress follow them across computers. You can **write**, **read**, **delete** and **check the existence** of files on the cloud, as well as verify that **Steam Cloud is enabled** for the game. Remember to declare your cloud files in the Steamworks dashboard for them to sync.

### Rich presence

Set **rich presence** attributes to show the player's current activity (like the level they are in) to their Steam friends.

### Matchmaking (lobbies)

The matchmaking actions let you **create**, **join** and **leave** lobbies, set the lobby **joinability** and **attributes** (searchable key/values), read the **members** and **owner** of a lobby, and open the Steam **invitation dialogue** so friends can join.

### Workshop (User Generated Content)

The Workshop section lets players **create**, **update**, **subscribe to** and **download** Workshop items, and query an item's **download progress**, **installation location** and **state**. This is how you add support for user-made mods, levels or content.

### Steam Input

Use the Steam Input actions to get the number of connected controllers and to **activate an action set**, letting Steam handle controller mapping and glyphs.

## Enabling Steam DRM

!!! warning "Mobile and HTML5 builds"
Expand Down