I love Playnite as a clean, flexible launcher, but Steam offers the best controller experience: powerful per-game profiles, community layouts, Steam Input, and the overlay. This extension bridges the two so you can start games from Playnite while actually launching them through Steam—getting Playnite's organization and visuals with Steam's controller magic. It's the best of both worlds with minimal fuss.
- Two-way sync between Steam shortcuts and Playnite
- Artwork support — covers, icons, and backgrounds are imported/exported automatically
- Launch via Steam — use
steam://rungameid/...URLs for full controller and overlay support - Automatic write-back — edits in Playnite sync back to Steam (name, artwork, play actions)
- Backup & restore — automatic backups before changes, with easy restore from settings
- Multi-user support — works with multiple Steam profiles on the same machine
- In Playnite, open Add-ons (press
F9or click the gamepad menu ☰ → Add-ons) - Go to Browse → Libraries and search for "Non-Steam Sync"
- Click Install and restart when prompted
- Download the latest
.pextfrom Releases - In Playnite: Add-ons → Install from file… → select the
.pext - Restart Playnite when prompted
- Windows 10/11
- Playnite 9 or later
- Steam installed
- .NET Framework 4.6.2+ (included with Windows 10+)
- Open settings: Add-ons → Extension Settings → Non-Steam Sync
- Set your Steam folder:
- The path is auto-detected from the Windows registry on first run
- Use Browse to pick a folder manually
- Use Auto-detect to re-run registry detection
- Path validation shows the current status:
- ✓ Valid — Steam folder found with userdata
- ⚠ Warning — folder exists but no userdata found
- ✗ Invalid — folder doesn't exist
- Optional: Enable "Launch via Steam" to use Steam URLs as the default play action
- Main menu → Steam Shortcuts → "Sync Steam → Playnite…"
- Preview covers/icons, filter by text, toggle "Only new"
- Select the shortcuts you want to import
- Click Import — artwork is pulled from Steam's grid folder automatically
- Main menu → Steam Shortcuts → "Sync Playnite → Steam…"
- Select games with a file-based play action
- Click Export — games are added/updated in
shortcuts.vdf - Covers, icons, and backgrounds are copied to Steam's grid folder
When enabled, editing a Steam Shortcuts game in Playnite (name, play action, tags, artwork) automatically updates shortcuts.vdf and Steam grid files. Changes are debounced to prevent race conditions.
- Automatic backups: Before any write to
shortcuts.vdf, a timestamped backup is created - Restore: In settings, click "Restore Backup…" to select a previous backup
- Backups are stored per Steam user:
<plugin-data>/backups/<userId>/ - The last 5 backups per user are retained
Right-click any game for quick actions:
- Add/Update in Steam — export selected games to Steam shortcuts
- Copy Steam Launch URL — copy the
steam://rungameid/...URL to clipboard - Open Steam Grid Folder — open the artwork folder in Explorer
- Check the Steam root path in settings
- The plugin searches
userdata/<steamid>/config/shortcuts.vdf - If you have multiple Steam profiles, ensure the intended one has shortcuts
When exporting from Playnite to Steam, some games may be skipped. Common reasons:
- "No executable found": The plugin couldn't detect a game executable. This happens with games from some launchers (Epic, EA, Amazon) that don't expose their exe path to Playnite.
- "No install directory": The game has no install path set in Playnite.
- "Skipped by user": You chose to skip the game when prompted.
How the plugin finds executables:
- Uses the game's existing File action (if set)
- Falls back to URL action (creates a double-launcher shortcut)
- For GOG games: parses the
goggame-*.infomanifest - Scans the install directory for exe files (filters out common installers/redistributables)
- If auto-detection fails: prompts you to browse for the executable manually
To fix skipped games:
- Try right-clicking the game in Playnite and adding a manual play action
- When prompted to browse, select the game's main executable
- The selection is saved so future exports will work automatically
- The game needs a known shortcut appid
- New exports compute appids automatically using Steam's CRC32 algorithm
- Try re-exporting the game to Steam
- Grid files live under
userdata/<steamid>/config/grid/ - Ensure the folder exists and is writable
- Supported formats: PNG, JPG, ICO
- Close Steam before making changes — Steam caches
shortcuts.vdfin memory - If Steam was running, restart it to see updates
- The plugin detects if Steam is running and warns you
- For best results, close Steam before syncing
- Uses a binary KeyValues reader/writer for Steam's
shortcuts.vdfformat - Shortcut appids are computed using CRC32 (matching Steam's algorithm)
- The
rungameidURL format:steam://rungameid/<gameId>where gameId encodes the appid - StableIds (hash of exe+name) ensure consistent matching across syncs
This project was developed with assistance from AI tools for code generation, documentation, and debugging.