IMPORTANT — NOTHING EXCEPT THE NEW FUNCTIONS ARE TESTED ON THIS FORKED VERSION. I DON'T KNOW IF IT WORKS PROPERLY. THE OLD CODE WASN'T TOUCHED OR EDITED BUT IT WAS ADAPTED. THIS WAS MADE WITH HELP BY AI. WOULD NOT RECOMMEND TO PUSH THIS INTO MAIN. I WON'T DO ANY PULL REQUEST EITHER.
Version: V2.0.1
A tool to relink, move, manage, link, capture/detect and fix games from the Epic Games Launcher.
Original project by Supernova1114 · Video About Project
This fork adds a new web-based GUI and additional features (Capture, Link, Fix). Developed by Super0Teah+AI credits to Supernova1114.
Original README from Supernova1114:
- The launcher does not have the option to add preinstalled games to your library from a storage drive.
- The launcher does not have an option to move games. Moving a game manually will cause the launcher to be unable to locate the game.
- When a game is updated on another PC, the launcher either cannot locate the game or tries to update the game again.
- Official suggestions by Epic Games are workarounds.
- Ability to relink preinstalled games to the launcher.
- Ability to move games to another folder location and stay linked to the launcher.
- Ability to backup game manifest files so that games can be brought over to another PC.
- Ability to restore game manifest files to the launcher.
- Python 3
- Has only been tested on Windows 10.
Note: Make sure to close out of the Epic Games Launcher prior to using this program.
python3 main.py
- Run the
Backup Manifestsoption. - Run the
Relink Manifestsoption. - Run the
Restore Manifestsoption. - The launcher should now recognize your preinstalled games.
Note: The Relink Manifests option will not work if the launcher does not have a manifest file already associated with the game. If you do not have access to the original launcher you installed the game from, you will need to follow the workaround provided by Epic Games in order to force the launcher to create a new manifest file.
- Run the
Backup Manifestsoption. - Run the
Move Game Installationoption. - Run the
Restore Manifestsoption. - The launcher will be able to recognize the games you have moved.
Note: Moving games manually through the file explorer will necessitate the relinking process in order for them to be rediscovered by the launcher.
- Run the
Backup Manifestsoption. - Move your storage drive / games folder to another PC.
- Run the
Restore Manifestsoption.
- The current way in which the Epic Games Launcher works is that manifest files for games exists within the program data directory for the launcher.
- These
.itemmanifest files resides inC:\ProgramData\Epic\EpicGamesLauncher\Data\Manifestsby default. - The
.itemmanifest file is a json dictionary which specifies the install location of the game, version of the game, where game files and updates should be downloaded from, etc. - Each
.itemmanifest references an encoded.manifestfile within the.egstore/folder for each game. Ex:<games_folder>/<game_name>/.egstore/<file_name>.manifest. - The
.itemand.manifestfiles are originally created when a game is installed and will be updated by the launcher during game updates. - An issue arises because of the location of the
.itemmanifest files. The file location is associated with the specific installation of the launcher, rather than with where a game's installation actually resides. - If a game installation were to reside on an external storage drive, and the drive were to be moved to a secondary PC, the Epic Games launcher installed on that secondary PC would have no idea the games exist.
- This makes sense as the games residing on this drive have never been linked to this secondary launcher.
- However, the Epic Games launcher does not have a feature to link preinstalled games.
- Once each game is manually and individually linked via the method suggested by Epic Games, the secondary launcher will have an understanding of the location and version of the games.
- However, if we move the storage drive back to the primary PC, the launcher here will have an outdated
.itemmanifest file associated with the game. - Two different issues will arise:
- If the secondary PC's launcher had updated the game. The primary PC launcher will still think the game is out of date, and attempt an update.
- If the secondary PC's launcher had changed the name of the
.manifestfile associated with the game due to a game update, the primary PC will not be able to locate the game, as the primary launcher's.itemmanifest file is now dissociated with the.manifestfile by name.
- As another topic, the Epic Games launcher does not feature a method to move a game installation to another folder.
- If a game were to be manually moved to another folder, the launcher would still have the original
.itemmanifest file for the game, which specifies the original location for the game. - Since the game no longer exists within the original folder location, the launcher will no longer list the game as installed.
- This is understandable.
- However, there is no user-friendly way to reassociate the game with the launcher, and a user will have to follow the workaround provided by Epic Games in order to manually and individually reassociate every game that has been moved.
- The
.itemmanifests that exist within the program data folder of the launcher should reside in the.egstore/folder for each game. - The launcher should reference parent folders containing multiple games, rather than referencing each individual game. Ex: C:\Games[Game_1, Game_2, Game_3] where "Games" is the parent folder.
- The launcher should have a file within its program data directory, which specifies the locations of parent folders that have been linked by the user or created through the launcher.
- When installing a game, the user could pick from their existing parent folders, or choose to create another parent folder.
- When the launcher starts up, it would search through the parent folders to see which games are installed. The launcher would read the
.itemand.manifestfiles within the.egstore/folder for each game in order to understand the state of the game, as well as any information relating to the installation.
Readme for my FORK
- Tested on Windows 10 only.
- The default manifests path (
C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests) is Windows-specific.
- Python 3.10+
- pywebview — for the modern GUI
- customtkinter — for the legacy GUI
- pyinstaller — for building the
.exe
Install all dependencies:
pip install pywebview customtkinter pyinstallerYou can package the application into a standalone Windows .exe using the included build_project.py script.
- Build the Main Version (Modern):
python build_project.py main
- Build the Legacy Version (CustomTkinter):
python build_project.py archive
The Library Fixer is your primary dashboard. It scans your library and assigns statuses:
- Linked: Ready to play.
- Unregistered: Found on disk but missing from Epic registry.
- Missing Manifest: Found on disk but missing its
.itemfile in ProgramData. - Duplicate (No Local Source): Registry entry exists, but game folder is missing tracking files.
To fix any game:
- Click Refresh Library to scan.
- For Unregistered or Missing Manifest entries, click Fix.
- The tool will terminate Epic processes, sync the registry, and rename local tracking files to match the launcher's identity.
- Select a Linked game in the Library tab.
- Click Move and choose a destination folder.
- The tool transfers the files and updates the registry in real-time.
Use these if the standard Fix button fails or if you have specific needs:
- Capture: Detect a game that has NO manifests at all by starting a fresh download in Epic and "capturing" the ID.
- Link: Manually pair a "Pending" manifest with a game folder if the metadata is missing.
- Fix Manifest Link: Use the interactive picker to manually match any manifest to any folder.
- Manifest Cleanup: Safely remove orphaned "Ghost" entries from your system.
src/
main.py # Entry point
webview_app.py # GUI backend (pywebview API)
manifest_capture.py # Core logic (Registry sync, Manifest patching)
game_data.py # Data models and Epic path management
file_management.py # IO utilities
handlers/ # Controller logic (Library, Actions, Settings, Tools)
web/ # Modern UI assets (HTML/JS/CSS)
archive/ # Legacy CustomTkinter code
build_project.py # Automated build script for .exe
The Epic Games Launcher stores .item manifest files in C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests. This tool patches those paths directly inside the manifest JSON.
-
The
.egstoreFolder: Every installed game contains a hidden.egstorefolder. This is the local "Source of Truth" that holds the binary.manifestand.mancpnfiles required for the Launcher to recognize the installation. -
.mancpnFile Usage: Inside.egstore, the tool looks for.mancpnfiles. These contain the internalAppName,CatalogItemId, andNamespaceIdneeded to link the game folder back to the Epic Launcher, it uses that data and links it automatically. -
LauncherInstalled.dat: This is the global registry file located inC:\ProgramData\Epic\UnrealEngineLauncher\. The Launcher reads this file on every startup to build its internal list of installed games Epic Games Launcher will rewrite it if any data is incorrect, missing or not matching the .item files in the manifests folder. -
Epic Games Launcher Is Annoying: The Epic Games Launcher is extremely sensitive to data consistency. If a registry entry in
.datpoints to a wrong folder, or if theInstallationGuiddo not match the file name of the.itemmanifest in ProgramData, the Launcher will Purge the entry from the registry during its validation loop. -
Identity Sync: To prevent these annoying purges, it tries to ensure a "Perfect Link" by renaming local manifest files and syncing GUIDs across the registry and the system manifests.