A modified version of GameSync from Maikeru86 (https://github.com/Maikeru86/GameSync)
Automatically add Non-Steam Games to Steam with images from SteamGridDB
- Reads games from a specified installation directory.
- Generates unique AppIDs for non-Steam games.
- Fetches grid, hero, and logo images from SteamGridDB.
- Adds new games to Steam shortcuts.
- Removes shortcuts for games that are no longer installed.
- Finds largest .exe in game folder and adds that as the game executable.
- Logging
- Changed the shown name in Steam of the games to be the name from steamgrid instead of the executable name
- Added GUI
- Inference of the steam_user_data_path so only 3 parameters are needed to be provide by the user
- Storage of the variables in a json file at the script location
- Changed slightly the messages to be logged, now it informs if a titles is being skipped when it's already present in steam.
- Added exceptions to the names of executables to be found, to avoid using the wrong one in Unity games
- (NEW) Multi folder support (v1.3)
- CLI support with the argument
--ignore-gooeythanks to@pwilinchery
-
Since the user ID is assumed, if there are more than 1 steam accounts, it may not work (We always select the first one in alphabetical order)
-
Only tested in Windows
-
The executable is located by size, which is not ideal. At this moment, the user must change the executable in Steam directly if the wrong one has been chosen.
- Windows
- NonSteam Games Folder: Path to the directory where your Non-Steam games are installed.
- SteamGridDB API Key: You have to generate one for yourself here: https://www.steamgriddb.com/profile/preferences/api
- Steam Installation path: Path where Steam is installed in your system.
- Install the required libraries
pip install -r requirements.txtIf installation of Gooey fails on Linux, please run following command to install required dependencies (for Debian 13 Trixie):
sudo apt install libgtk-3-dev python-config- Execute the script "SyncNon-SteamGames.py"
- Download the packaged version from "Releases"
- Make sure the directories and SteamGridDB API fields are filled in.
- Run it
If your library is huge and you are having difficulties locating the games, here is how you can find them easily until Valve provides a filter in desktop mode (Only big picture has a filter for non-steam games):
-
Enable the option to show only installed games
-
Create 3 dynamics library:
- Single Player
- Multi Player
- Co op
This should narrow the games in your "Uncategorized" section to be basically the ones we're looking for
-
Create a new library on "Non-Steam" steam and add them
-
Congratulations! your games are categorized and easily accessible
- "Gooey" for the GUI (https://github.com/chriskiehl/Gooey)
- "Pyinstaller" for building the executable (https://github.com/pyinstaller/pyinstaller)
- "vdf" to read Valve's config files https://pypi.org/project/vdf/
- "requests" to handle the network side of thing https://pypi.org/project/requests/
