> For the complete documentation index, see [llms.txt](https://gamelauncher.cloud/help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gamelauncher.cloud/help/changelog/readme.md).

# Changelog

***

*July 20, 2026*

## License Keys (Buy to Play)

{% hint style="success" %}
**NEW FEATURE:** You can now sell your games and DLC as **buy to play**: generate **license keys**, sell them through your own store or key resellers, and let players redeem them right inside the launcher. A redeemed key becomes a permanent entitlement bound to the player's account.
{% endhint %}

<figure><img src="/files/bssvEoeEY0knRL711D3A" alt=""><figcaption><p>App License Keys Tab</p></figcaption></figure>

<figure><img src="/files/yk5bt1qWq16YQGZhcAII" alt=""><figcaption><p>License Keys Example</p></figcaption></figure>

A new **License Keys** tab is available on each app. Turn on the **Buy to Play** toggle and players without an entitlement see the app locked in the launcher with a **Redeem Key** button. The purchase itself happens wherever you sell (your store, key resellers, giveaway campaigns); Game Launcher Cloud handles the unlock.

To sell a DLC separately, edit the DLC and enable **Paid DLC (license key required)**. The base app can stay free while DLCs are paid, or both can be paid.

### Generating keys

<figure><img src="/files/DwyiTCKB8AVPc8v2GiZy" alt=""><figcaption></figcaption></figure>

Click **Generate Keys** and choose:

* **Target**: the base app or one of its DLCs.
* **Quantity**: 1 to 1000 keys per batch.
* **Expiration** *(optional)*: unredeemed keys stop working after this date. Redeemed entitlements never expire.
* **Tag** *(optional)*: a free note to identify the batch, for example the reseller it was exported for.

Keys look like `GLC-XXXXX-XXXXX-XXXXX-XXXXX`. After generation you can copy them all or download the batch as CSV, and they stay retrievable later: use **Reveal** on any key or **Export CSV** on the whole list to re-send a batch to a reseller at any time.

### Redeeming in the launcher

<figure><img src="/files/FFD1n1sXdspVM4PId3QE" alt=""><figcaption><p>Launcher Desktop - App Install Window</p></figcaption></figure>

<figure><img src="/files/WqINj4hLLACFvcyom1hp" alt=""><figcaption><p>Launcher Desktop - DLC Install Window</p></figcaption></figure>

<figure><img src="/files/dXEfULmjZFEdpmeQENrC" alt=""><figcaption><p>Launcher Desktop - Redeem License Key</p></figcaption></figure>

The player selects the locked app (or opens the DLC Manager for a locked DLC), clicks **Redeem Key**, pastes the key (with or without dashes, case does not matter) and confirms. The content unlocks immediately, without restarting the launcher, and the redemption shows up in the **Redemptions** sub tab of the dashboard.

* Each key is **single use**. If the player already owns the content, the key is not consumed and can be redeemed by someone else.
* If the app has a **Store URL** configured, the redeem dialog also shows a **Visit Store** button so interested players can buy a key.
* Entitlements are cached on disk, so owned games stay playable **offline**.

### Revoking

* **Revoke key**: an active key can no longer be redeemed. Revoking an already redeemed key also revokes the access it granted.
* **Revoke access**: the player loses access at their next launcher session. Use it for refunds and chargebacks.

{% hint style="info" %}
Entitlements are saved on the player's account, so buy to play requires the **Login System** enabled on the launcher. Guests are asked to sign in before redeeming.
{% endhint %}

Full guide: [License Keys (Buy to Play)](https://gamelauncher.cloud/help/applications/license-keys).

***

## Mods (mod.io)

{% hint style="success" %}
**NEW FEATURE:** On **Pro and higher** plans, your launcher can now show a **Mods** tab powered by **mod.io**. Players browse your game's mod catalog, subscribe, and the launcher downloads and installs the mods automatically. No custom UGC infrastructure needed.
{% endhint %}

<figure><img src="/files/HixfPJ4Rz66mhR2bDMu1" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/I0qPM9rxFTGjUx4KU09H" alt=""><figcaption><p>New mod.io tab (App Integrations)</p></figcaption></figure>

The tab embeds the **mod.io Embed Hub**, a white-label mod browser you configure and brand from your mod.io game dashboard. It appears in the launcher's top navigation when the selected game has mod.io configured, and disappears for games without it. Players browse, search, rate, comment and log in with their mod.io account inside the hub; if they are signed in to your launcher, their email pre-fills the mod.io sign-in.

<figure><img src="/files/8svRtZingI4zWZUOP3nY" alt=""><figcaption></figcaption></figure>

### Subscribe = install

<figure><img src="/files/pLduc1yWg7VPo5ml4rFj" alt=""><figcaption><p>Launcher Desktop - Mods Tab</p></figcaption></figure>

* When a player **subscribes** to a mod, the launcher downloads the file through the mod.io API, verifies its integrity (MD5) and extracts it into the game's `Mods` folder.
* **Unsubscribing** removes the mod folder automatically.
* Every time the Mods tab opens, the launcher checks installed mods against mod.io and reinstalls any mod whose file changed.
* Installed mods are recorded in `Mods\modio_state.json` (mod id, file id, version, activation), so your game can read that file to know which mods to load.

### Setup

Open your app in the dashboard and go to **Integrations, mod.io**.

Fill in your mod.io **Game ID**, read-only **API Key** and **Embed Hub URL**, then enable the integration and save.

Optionally add **Extra Allowed Domains** the tab may open and change the **Install Folder Name** (default: `Mods`).

{% hint style="info" %}
Requires a **Pro plan or higher** and a game registered on [mod.io](https://mod.io). The Mods tab shows up in the launcher on the next manifest refresh after saving.
{% endhint %}

Full setup guide: [Mods (mod.io)](https://gamelauncher.cloud/help/applications/modio-mods).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gamelauncher.cloud/help/changelog/readme.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
