- Python 96.6%
- TypeScript 2.5%
- Shell 0.7%
| .vscode | ||
| assets/css | ||
| bin | ||
| cli | ||
| defaults | ||
| docs | ||
| py_modules | ||
| scripts | ||
| src | ||
| .gitignore | ||
| backend | ||
| CHANGELOG_dependencies.md | ||
| CHANGELOG_gog_dlc_ui.md | ||
| CHANGELOG_gog_fixes.md | ||
| CHANGELOG_language_support.md | ||
| CHANGELOG_launch_issues.md | ||
| cloud_save_manager.py | ||
| compat_cache.py | ||
| decky.pyi | ||
| download_manager.py | ||
| launch_options_parser.py | ||
| LICENSE.txt | ||
| main.py | ||
| package.json | ||
| plugin.json | ||
| proton-compatibility.md | ||
| README.md | ||
| requirements.txt | ||
| rollup.config.mjs | ||
| steam_user_utils.py | ||
| steamgriddb_client.py | ||
| tsconfig.json | ||
| vdf_utils.py | ||
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.
Table of Contents
- Features
- Screenshots
- Prerequisites
- Installation
- Getting Started
- Known Limitations
- Troubleshooting
- License
- Credits
- Author
- Disclaimer
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
Game Details
Prerequisites
Decky Loader must be installed on your Steam Deck
That's it! All other tools and dependencies are bundled with the plugin.
Installation
- Download the plugin ZIP file from the Releases section.
- Open Quick Access Menu (three dots button)
- Navigate to Decky → Settings (gear icon)
- Enable Developer Mode if not already enabled
- Click Install Plugin from ZIP
- Navigate to the downloaded ZIP file and select it
- The plugin will install automatically
https://www.youtube.com/watch?v=lP-90uYd72w
Getting Started
- Open the Quick Access Menu and find Unifideck
- Connect your Epic Games, GOG, Amazon accounts using the authenticate buttons
- 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
- Login to Epic via a different browser or device, confirm login works/accept any policies
- 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
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
- Restart Steam/Steam Deck
- Re-run sync/force sync from the Quick Access Menu
- 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:
- Game not properly registered after installation
- Missing
.unifideck-idmarker file - Incorrect path in
games.map
Solutions:
- Force Sync: Go to Unifideck settings and click "Force Sync"
- Check Installation: Run diagnostic script:
bash bin/diagnose_installation.sh <game_id> <store> - 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:
- Uninstall the game from Unifideck
- 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:
- Try installing again - detection logic has been improved
- Check
~/GOG Games/for the game directory - See GOG DLC Troubleshooting Guide for manual recovery steps
Can't Install a Game
- Make sure you have enough storage space
- Check that your store account is still authenticated
- Try logging out and back into the store
- Check the launcher logs at
~/.local/share/unifideck/launcher.log
Cover Art Missing
- Run another sync - artwork is fetched during the sync process
- Some games may not have artwork available in the SteamGridDB database
Game Won't Launch
- Check the launcher logs at
~/.local/share/unifideck/launcher.log - For GOG games, verify the game folder exists in
~/GOG Games/ - 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:
- Open Unifideck settings
- Go to Game Language section
- Select your preferred language (Korean, Japanese, Chinese, etc.)
- 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).