Skip to content

mubaraknumann/unifideck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

282 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unifideck - Unified Game Library for Steam Deck

A Decky Loader plugin that brings together games from Steam, Epic Games Store, GOG, Microsoft Store, Ubisoft store and Amazon into a single, unified library experience on your Steam Deck.

License Platform Sponsor Ko-fi

Table of Contents

Features

  • Unified Game Library - Epic Games, GOG and Amazon games appear directly in your Steam library*
  • Great On Deck for All - Great on Deck tab will show all games in your connected libraries that are platinum rated or verified by Steam.
  • One-Click Installation - Install Third Party games directly from Steam's interface
  • Cloud Saves - Currenly available for Epic and GOG. Not all games supported.
  • Automatic Artwork - Game covers, banners, and logos fetched automatically from SteamGridDB
  • In-App Authentication - Log into supported Third Party stores without leaving Gaming Mode
  • No Restart Required - Installed games are playable immediately without restarting Steam**

*Yes, other game store integrations are planned but depends on solutions available and our development pipeline **Still needs one time restart after libraries have been synced

Screenshots

Unified Game Library

Screenshot_20260109_123258

Game Details

20260104022821_1

Prerequisites

Decky Loader must be installed on your Steam Deck

That's it! All other tools and dependencies are bundled with the plugin.

Installation

  1. Download the plugin ZIP file from the Releases section.
  2. Open Quick Access Menu (three dots button)
  3. Navigate to DeckySettings (gear icon)
  4. Enable Developer Mode if not already enabled
  5. Click Install Plugin from ZIP
  6. Navigate to the downloaded ZIP file and select it
  7. The plugin will install automatically

https://www.youtube.com/watch?v=lP-90uYd72w

Building

To build the plugin from source (for development or local testing):

Prerequisites: Node.js 16.14+, pnpm v9, the Decky CLI (run .vscode/setup.sh), and Docker or Podman for the plugin build step. The build script will use Podman if Docker is not installed (e.g. on Steam Deck).

Steps:

  1. Install dependencies: pnpm i
  2. Build the frontend bundle: pnpm run build (this ensures dist/index.js exists).
  3. Build the plugin package: run ./.vscode/build.sh from the project root.

The build script wraps the Decky CLI (e.g. cli/decky plugin build .) to produce a Decky-compatible plugin zip in out/ (for example, out/Unifideck.zip). It assumes the frontend has already been built (step 2) and that any required backend files are present in the repository. For the expected plugin zip layout (dist, package.json, plugin.json, main.py, LICENSE, bin, backend, etc.), see the Decky Plugin Template distribution section.

Getting Started

  1. Open the Quick Access Menu and find Unifideck
  2. Connect your Epic Games, GOG, Amazon accounts using the authenticate buttons
  3. Click Sync Libraries and wait for completion. Restart Steam.

Your games will now appear in your Steam library!

Launch Options

You can add custom parameters to your game launch options (e.g. MANGOHUD=1, LSFG=1, PROTON=proton_9). These are preserved across syncs, installs, and Proton compatibility toggles.

See the full Launch Options Guide for details and examples.

Known Limitations

  • The plugin creates custom tabs that replace the standard Great on Deck, All Games and Installed tabs so standard filtering and sorting will not work (for now).
  • The plugin handles proton/winetricks automatically, but you can use any Proton version of your choice. See the Proton compatibility docs and launch options guide.
  • Game download paths (local and sd card) are fixed (for now)
  • Not all games have artwork available - some may show default images. Suggest using SteamGridDB.
  • Cloud saves implemented, but may not work for all games
  • Compatibility with Tabmaster - created collections that can be used to create tabs. Does not show custom tabs when this is installed.

Troubleshooting

Epic Store Login Shows Blank Screen or 'Pretty Print' Option

  1. Login to Epic via a different browser or device, confirm login works/accept any policies
  2. Try Again

Why this happens Apps and plugins that use the Epic API often get "locked out" when Epic updates its legal agreements. Because the plugin can’t display the full legal window, the login request simply fails until you manually agree to the terms on the official website or desktop app.

Force Use of Compatibility Tool

Force Compatibility (Proton) is supported. The plugin automatically detects your selection and configures the launcher to use it. You can also set a specific Proton version via launch options — see the Launch Options Guide for details.

Games Don't Appear After Syncing

  1. Restart Steam/Steam Deck
  2. Re-run sync/force sync from the Quick Access Menu
  3. Check that your accounts are still connected

Can't Install a Game

  1. Make sure you have enough storage space
  2. Check that your store account is still authenticated
  3. Try logging out and back into the store
  4. Check the launcher logs at ~/.local/share/unifideck/launcher.log

Cover Art Missing

  1. Run another sync - artwork is fetched during the sync process
  2. Some games may not have artwork available in the SteamGridDB database

Ubisoft Connect Games (Epic)

Ubisoft games purchased through Epic Games require a one-time account link before they can launch on Steam Deck:

  1. On a PC or browser, visit epicgames.com/id/link/ubisoft
  2. Log into both your Epic and Ubisoft accounts and link them

After linking, Ubisoft games will launch and authenticate automatically through the plugin. Without this step, games may get stuck on "Logging in..." or prompt for a product key.

Game Won't Launch

  1. Check the launcher logs at ~/.local/share/unifideck/launcher.log
  2. For GOG games, verify the game folder exists in ~/GOG Games/
  3. Try reinstalling the game

Languages

Added support for multiple languages. The following translations are now included:

  • Portuguese (Brazil) — pt-BR
  • Russian — ru-RU
  • Japanese — ja-JP
  • German — de-DE
  • Spanish — es-ES
  • Italian — it-IT
  • Simplified Chinese — zh-CN
  • Korean — ko-KR
  • Dutch — nl-NL
  • Polish — pl-PL
  • Turkish — tr-TR
  • Ukrainian - uk-UA

To add a new language, create a JSON file in src/i18n/locales/ using en-US.json as a template and provide translations for each key.

Support

(Since I have received multiple donation queries) If you enjoy this plugin and want to support its development, you can:

License

GNU General Public License v3.0 - see LICENSE file for details

Credits

This project builds upon numerous open source projects, libraries, and tools. We are grateful to all contributors and maintainers.

Core Framework

  • Decky Loader - For plugin runtime environment and backend API integration
  • decky-frontend-lib - For Steam UI components, routing, and Deck-specific React hooks

Game Store Integration (Binaries)

  • legendary - For authenticating, syncing library, downloading, and launching Epic Games Store titles
  • umu-launcher - For running Windows games (.exe) with Proton compatibility layer
  • comet - GOG Galaxy SDK replacement for achievements and multiplayer features

Python Libraries

  • websockets - For real-time communication with Steam client
  • python-vdf - For reading/writing Steam's shortcuts.vdf and config files
  • Requests - For GOG API authentication and game metadata fetching
  • steamgrid - For fetching game artwork (grid, hero, logo) from SteamGridDB
  • certifi - For providing SSL certificates for HTTPS requests
  • charset-normalizer - For handling character encoding in API responses
  • idna - For internationalized domain name support in URLs
  • urllib3 - For underlying HTTP client for requests library
  • pip - For managing Python dependencies in isolated environment (bundled)

APIs & Services

  • SteamGridDB - For automatically downloading cover art, banners, and logos for non-Steam games
  • Epic Games API - For fetching Epic library data and game metadata via legendary
  • GOG API - For authenticating users, fetching game library, and retrieving installer URLs

Decky Plugins (Code Reference)

The following Decky plugins were studied as reference during development:

  • TabMaster - For library tab replacement and Steam UI patching techniques
  • CSSLoader - For plugin architecture and settings management patterns
  • SteamGridDB Decky - For SteamGridDB API integration and artwork downloading
  • ProtonDB Decky - For game compatibility rating integration patterns
  • HeroicGamesLauncher - For Epic and GOG launcher integration approaches
  • Junkstore - For non-Steam game management and authentication references

Special Thanks

  • Valve - For the Steam Deck platform and Steam OS
  • SteamDeckHomebrew Community - For Decky Loader and extensive documentation
  • derrod - For legendary and Epic Games integration insights
  • JSONDerulo - For Amazon integration and code review
  • All open source contributors whose work makes this project possible

Author

Numan Mubarak (numanmuabrak@protonmail.com)

Disclaimer

This is an unofficial third-party tool. Not affiliated with Valve, Epic Games, Amazon, or CD Projekt (GOG).

About

A Decky Loader plugin that brings together games from Steam, Epic Games Store, GOG and Amazon into a single, unified library experience on your Steam Deck.

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors