No description
  • Python 96.6%
  • TypeScript 2.5%
  • Shell 0.7%
Find a file
2026-01-17 10:20:08 -05:00
.vscode Fix co-dependencies 2026-01-17 08:45:44 -05:00
assets/css Initial commit 2026-01-05 01:33:01 +05:30
bin Add multilanguage games 2026-01-17 10:20:08 -05:00
cli chore: add build and plugin template related stuff 2026-01-07 09:03:59 -05:00
defaults Add multilanguage games 2026-01-17 10:20:08 -05:00
docs Add multilanguage games 2026-01-17 10:20:08 -05:00
py_modules Fix co-dependencies 2026-01-17 08:45:44 -05:00
scripts Merge Mark-2 into staging: Cloud saves and improvements 2026-01-09 02:20:42 +05:30
src Add multilanguage games 2026-01-17 10:20:08 -05:00
.gitignore optimized install flow for all stores, added/fixed modal for force sync confirmation, some global fixes for Wine 2026-01-15 11:58:01 +05:30
backend Major code overhaul to make it modular and multiple bug fixes and enhancements. 2026-01-14 00:45:10 +05:30
CHANGELOG_dependencies.md Fix co-dependencies 2026-01-17 08:45:44 -05:00
CHANGELOG_gog_dlc_ui.md improve GOG DLCs 2026-01-17 10:04:34 -05:00
CHANGELOG_gog_fixes.md debbug installation Game 2026-01-17 10:08:22 -05:00
CHANGELOG_language_support.md Add multilanguage games 2026-01-17 10:20:08 -05:00
CHANGELOG_launch_issues.md debbug installation Game 2026-01-17 10:08:22 -05:00
cloud_save_manager.py Fix co-dependencies 2026-01-17 08:45:44 -05:00
compat_cache.py Fix co-dependencies 2026-01-17 08:45:44 -05:00
decky.pyi chore: add build and plugin template related stuff 2026-01-07 09:03:59 -05:00
download_manager.py improve GOG DLCs 2026-01-17 10:04:34 -05:00
launch_options_parser.py Fix co-dependencies 2026-01-17 08:45:44 -05:00
LICENSE.txt Initial commit 2026-01-05 01:33:01 +05:30
main.py Add multilanguage games 2026-01-17 10:20:08 -05:00
package.json feat(i18n): added FR and EN translations 2026-01-15 12:14:41 +01:00
plugin.json Fix co-dependencies 2026-01-17 08:45:44 -05:00
proton-compatibility.md Proton Compat Fixes 2026-01-14 01:32:14 +05:30
README.md Add multilanguage games 2026-01-17 10:20:08 -05:00
requirements.txt Initial commit 2026-01-05 01:33:01 +05:30
rollup.config.mjs Merge Mark-2 into staging: Cloud saves and improvements 2026-01-09 02:20:42 +05:30
steam_user_utils.py Fix co-dependencies 2026-01-17 08:45:44 -05:00
steamgriddb_client.py Fix co-dependencies 2026-01-17 08:45:44 -05:00
tsconfig.json chore: add build and plugin template related stuff 2026-01-07 09:03:59 -05:00
vdf_utils.py chore: re-org modules for build proc 2026-01-07 09:39:02 -05:00

Unifideck - Unified Game Library for Steam Deck

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.

License Platform

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

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!

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).
  • Some GOG games come as multiple download files - these are handled automatically but may take longer to install
  • The plugin handles Proton automatically. Game redistributables (.NET, VC++ runtimes) are installed automatically on first launch.
  • 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

Game Asks for .NET or Visual C++ Runtime

First Launch Setup: Some games (like Baldur's Gate 3, Football Manager) require .NET or VC++ runtimes. Unifideck installs these automatically on first launch.

  • What to expect: You'll see a notification "Installing Dependencies" - this takes 2-10 minutes
  • One-time only: Dependencies are installed once per game
  • If it fails: Launch the game again, or see Game Dependencies Guide

Supported games with automatic dependency installation:

  • Baldur's Gate 3 (.NET 6.0.2 + VC++ 2019)
  • Football Manager 2024 (.NET 6.0)
  • Ghostrunner (VC++ 2013/2015)

For more details, see docs/game-dependencies.md

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 cant 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

DO NOT select this option for Unifideck games. Proton compatibility is handled automatically and is not configurable right now.

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

Game Installed But Won't Launch

Symptom: Game appears in library but clicking "Play" does nothing.

Common Causes:

  1. Game not properly registered after installation
  2. Missing .unifideck-id marker file
  3. Incorrect path in games.map

Solutions:

  1. Force Sync: Go to Unifideck settings and click "Force Sync"
  2. Check Installation: Run diagnostic script:
    bash bin/diagnose_installation.sh <game_id> <store>
    
  3. Manual Recovery: See Games Not Launching Guide

Quick Fix:

  • Try Force Sync first - it rebuilds the game registry
  • If that doesn't work, reinstall the game
  • Check logs: ~/.local/share/decky/plugin/unifideck.log

For detailed troubleshooting, see docs/games-not-launching-troubleshooting.md

GOG DLCs Not Installing

Fixed in latest version: DLCs now install automatically with the base game.

If you installed a GOG game before this fix:

  1. Uninstall the game from Unifideck
  2. Reinstall - DLCs will now be included

For more details, see docs/gog-dlc-troubleshooting.md

"Installation completed but could not locate game directory" (GOG)

This error means the game downloaded but Unifideck couldn't find where it was installed.

Solutions:

  1. Try installing again - detection logic has been improved
  2. Check ~/GOG Games/ for the game directory
  3. See GOG DLC Troubleshooting Guide for manual recovery steps

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

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

Unifideck UI supports multiple languages. The following translations are 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

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.

Game Language Configuration

You can configure the language for Epic and GOG games:

  1. Open Unifideck settings
  2. Go to Game Language section
  3. Select your preferred language (Korean, Japanese, Chinese, etc.)
  4. Restart games to apply

Supported game languages: English, Korean, Japanese, Chinese (Simplified/Traditional), Spanish, French, German, Italian, Portuguese, Russian, Polish, Turkish, Arabic, Thai, Vietnamese

Note: Not all games support all languages. Games will fall back to English if your selected language is not available.

For detailed information, see Game Language Configuration Guide

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
  • innoextract - For extracting GOG Windows game installers without Wine

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).