# Heroic Games Launcher: Epic, GOG and Amazon games on Linux, Windows and macOS

> Heroic is an Electron launcher that wraps three separate CLI downloaders to install and run Epic, GOG and Amazon games outside their own stores. It is a good fit for Linux handhelds and desktops, and a poor fit for anyone who wants anti-cheat multiplayer titles.

**Heroic-Games-Launcher/HeroicGamesLauncher** — A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.

- Repository: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher
- Website: https://heroicgameslauncher.com
- Stars: 12,318 · Forks: 689
- Language: TypeScript
- License: GPL-3.0
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/heroic-games-launcher-heroicgameslauncher

## What Heroic solves for people who own games on three stores

Buying from Epic, GOG and Amazon leaves you with three libraries and, on Linux, no native client for any of them. Heroic puts those three catalogues behind one install, uninstall, update, repair and move workflow, and it does so without reimplementing the download protocols. The README states that it launches Epic games through Legendary, GOG games through the project's own gogdl implementation, and Amazon games through Nile. Those are separate command line tools, and Heroic is the interface over them.

The intended user is fairly narrow. The supported operating system list names Ubuntu's latest two LTS versions, the latest two Fedora releases, Arch and its derivatives (Manjaro, Garuda, EndeavourOS), SteamOS, Windows 10 and 11, and macOS 14 or newer. The README adds that Heroic will still work on most distributions, but that getting it to work is on you. That sentence is the honest version of the support policy: Linux is the primary target, and the further you drift from the listed distributions, the more of the setup you own.

## Legendary, gogdl and Nile: the three backends under one Electron shell

Heroic is built with TypeScript, React, MUI, Node.js and Electron, and packaged with electron-builder. The repository layout matches that: src/ holds the application code, e2e/ and playwright.config.ts hold end-to-end tests, jest.config.js covers unit tests, and electron-builder.yml plus electron.vite.config.ts drive packaging. The main entry in package.json is build/main/main.js, which is the compiled Electron main process.

The interesting architectural decision is that store logic is delegated. Legendary handles Epic authentication and downloads, gogdl handles GOG, and Nile handles Amazon. Heroic does not speak those store APIs directly, so a change on the store side is usually absorbed by the backend tool rather than by the launcher. The cost is that Heroic inherits the release cadence and the limitations of three external projects, and bug reports can land in the wrong repository.

On Linux the runtime side is Wine and Proton. The README lists playing games with Wine or Proton, downloading custom Wine and Proton versions, and searching ProtonDB for compatibility information as current features. It also states that if you are not using the Flatpak build you should keep GE-Proton as your Wine runner, and that with umu enabled by default no additional Wine dependencies are required. That is a concrete packaging claim, and it is the kind of detail that decides whether a first launch succeeds.

## Installing Heroic on Linux, Windows and macOS

On Linux the README points at Flathub first. The Flatpak application ID is com.heroicgameslauncher.hgl, and the README says it should install from any software centre that carries Flathub, such as Pop!_Shop or Discover. The command line equivalent uses that same ID:

```bash
flatpak install flathub com.heroicgameslauncher.hgl
```

After it finishes, Heroic appears in your application menu as Heroic Games Launcher. Launch it and you get an empty library with a login prompt, because no store account is connected yet.

For Debian, Ubuntu and derivatives the README directs you to download the file ending in .deb from the latest release rather than offering a repository. Arch users are pointed at the AUR, Fedora at its packaging, NixOS at Nix, and other distributions at the AppImage and TAR.XZ artifacts. Windows builds are distributed as a portable executable according to the release:win script, and macOS builds are produced for x64 and arm64.

The first real use is signing in and installing one game. Heroic supports logging in with an existing Epic Games, GOG or Amazon account. Pick one store, authenticate, and the owned games list populates. From there the README's feature list covers install, uninstall, update, repair and move, plus importing an already installed game if you have one on disk. If you are on Linux and the game does not start, the ProtonDB search built into Heroic is the intended next step, not a settings file you edit by hand.

## Where Heroic stops: anti-cheat, store support and the Flatpak boundary

The README is explicit that playing Epic games online is subject to anti-cheat support depending on the game and the platform, noting that on macOS and Linux this depends on the game. Read that as a real boundary. Heroic is not a way around kernel-level anti-cheat, and a multiplayer title that refuses to run under Wine will refuse under Heroic too. The project's own feature list puts online play in a conditional clause rather than a bullet you can rely on.

Store coverage is also fixed at three plus manual entries. The planned features section lists support for other stores such as IndieGala, which means it is not there yet. You can add games and applications outside GOG, Epic and Amazon, but that is a shortcut entry, not a managed install with updates and cloud saves.

The Flatpak build deserves its own caution. The README tells non-Flatpak users to keep GE-Proton as the Wine runner and notes that umu is enabled by default, which implies the Flatpak and native builds do not have identical runtime assumptions. If you mix a Flatpak Heroic with games installed in a native prefix, expect to spend time on paths and permissions. The README does not document a migration path between the two, and it does not document rollback if an update breaks a prefix.

## Heroic compared with Lutris and with running the stores in a browser

The closest comparison is Lutris, which people search for alongside Heroic. The difference is in what each one manages. Lutris is built around user-contributed install scripts that describe how to set up a game, its runner and its prefix, which makes it broader for non-store titles and emulators. Heroic is built around three store accounts and their libraries, so it knows what you own, can update and repair it, and syncs saves with the cloud. If your problem is "I bought this on Epic and I want it installed and patched", Heroic is the shorter path. If your problem is "I have a folder of installers and a Windows game from 2004", Lutris has the machinery for that and Heroic does not.

The other alternative is not a launcher at all: running the store in a browser and the game through a manual Wine prefix. That works and has no dependency on any of these projects, but you lose the update and repair loop, the download queue, and the ProtonDB lookup that Heroic puts next to the game. The trade is control against maintenance.

On Windows and macOS the comparison changes. Heroic exists there, but the README's feature list leans on Wine, Proton and Crossover, which are Linux and macOS concerns. On Windows, Heroic is mostly a way to avoid running three separate store clients, and the anti-cheat caveat still applies.

## Building Heroic from source, licensing and what an upgrade costs

Heroic is licensed GPL-3.0-only according to package.json, with the licence text in the COPYING file. That is a copyleft licence, so if you fork and redistribute Heroic you take on source distribution obligations. Running it, packaging it for your own machine, or writing a theme does not raise that question. Nothing here is legal advice; read COPYING if you plan to ship a modified build.

Building from source is a pnpm workspace. package.json declares node >=22 and pnpm@10.28.0, and the scripts are conventional: pnpm run start runs electron-vite dev --watch, pnpm run build runs electron-vite build, pnpm test runs Jest, and pnpm run test:e2e builds first and then runs Playwright under xvfb-maybe. The release scripts fan out to electron-builder for Linux (deb, AppImage, rpm, pacman, tar.xz), macOS (x64 and arm64) and Windows (portable, x64).

```bash
pnpm install
pnpm run start
```

The upgrade cost for users is low and mostly invisible: the release history shows a steady line of hotfix releases, with v2.22.1, v2.22.2 and v2.22.3 all landing within roughly five weeks. That cadence cuts both ways. Fixes arrive quickly, and so do regressions that need the next hotfix. The repository is not archived and the last push was on 2026-09-19, two days before this was written, so the project is being worked on continuously. The README does not describe a downgrade procedure, so keeping the previous AppImage or Flatpak around is the only rollback you can plan for.

## Who should install Heroic and what to check first

Install Heroic if you own Epic, GOG or Amazon games and you play on Linux, particularly on a Steam Deck or a Fedora or Arch desktop where the packaging is already handled. Install it if you want the store catalogue, cloud save sync and ProtonDB compatibility information in one window instead of three. The Flatpak is the lowest-friction entry point and the README treats it as the default on Linux.

Do not install it expecting to play competitive multiplayer. The README's own wording makes online play conditional on anti-cheat support for the specific game and platform. Do not install it as a general-purpose game manager for titles you did not buy on those three stores; the manual add feature creates a launcher entry, not a managed install.

Before you commit, verify three things. First, that you can log in to each store account you intend to use, since Heroic relies on existing Epic, GOG and Amazon accounts rather than creating anything. Second, that the specific games you want have a ProtonDB entry you are willing to accept, because Heroic surfaces that information rather than guaranteeing a result. Third, whether you want the Flatpak or the native package, since the README's guidance about GE-Proton and umu is written for the non-Flatpak case and the two paths are not described as interchangeable.

## Conclusion

Adopt Heroic if you play single-player Epic, GOG or Amazon titles on Linux, especially on a Steam Deck or a Fedora or Arch desktop, and you are comfortable with Wine and Proton runners. Skip it if your library is mostly anti-cheat multiplayer, since the README states that online play depends on the game. Before committing, check the store login for each account you own and confirm that the games you care about have a ProtonDB entry, because Heroic links out to ProtonDB rather than guaranteeing compatibility itself.

## FAQ

### Is Heroic Games Launcher safe?

It is an open source project under GPL-3.0-only, with the licence text in the COPYING file, and it authenticates against your existing Epic, GOG or Amazon account rather than creating new credentials. The README does not make any claim about how your tokens are stored, so treat that as unverified.

### Is Heroic Games Launcher bannable?

The README does not address bans or account risk at all. It only states that playing Epic games online depends on anti-cheat support for the game and the platform, which is a compatibility statement rather than a policy one.

### Is Heroic a good alternative to Steam?

Heroic is not a store, so it cannot be a Steam replacement. It is a launcher for games you already own on Epic, GOG and Amazon, and the README lists syncing installed games with an existing Epic Games Store installation as a feature rather than positioning itself against Steam.

### How do I install Heroic Games Launcher on Linux?

The README points to Flathub first, where the app ID is com.heroicgameslauncher.hgl, and it should install from any software centre that carries Flathub. Debian and Ubuntu users download the .deb from the latest release, Arch users go to the AUR, and other distributions use the AppImage or TAR.XZ.

### How do I use Heroic Games Launcher on macOS?

macOS 14 or newer is supported, and the README lists playing games with Crossover as the macOS runtime option. Builds are produced for both x64 and arm64 according to the release:mac script.

### How do I install Heroic Games Launcher on a Steam Deck?

The README states that on SteamOS you download it using Discover only. That means the Flatpak route, not a .deb or AppImage.

## Sources

- [Heroic-Games-Launcher/HeroicGamesLauncher on GitHub](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher)
- [License: GPL-3.0](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/blob/main/LICENSE)
- [Project website](https://heroicgameslauncher.com)
- [README](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/blob/main/README.md)
- [Releases](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/heroic-games-launcher-heroicgameslauncher
