Skip to content
 
 

Latest commit

 

History

56 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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


Epic Games Library Relinker GUI

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:

Reason for the existence of this project:

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

Features:

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

Requirements:

  • Python 3

Supported Platforms:

  • Has only been tested on Windows 10.

How to use:

Note: Make sure to close out of the Epic Games Launcher prior to using this program.

python3 main.py

How to relink games:

  1. Run the Backup Manifests option.
  2. Run the Relink Manifests option.
  3. Run the Restore Manifests option.
  4. 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.

How to move games:

  1. Run the Backup Manifests option.
  2. Run the Move Game Installation option.
  3. Run the Restore Manifests option.
  4. 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.

How to move games between PCs:

  1. Run the Backup Manifests option.
  2. Move your storage drive / games folder to another PC.
  3. Run the Restore Manifests option.

Research Notes:

  • 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 .item manifest files resides in C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests by default.
  • The .item manifest 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 .item manifest references an encoded .manifest file within the .egstore/ folder for each game. Ex: <games_folder>/<game_name>/.egstore/<file_name>.manifest.
  • The .item and .manifest files 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 .item manifest 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 .item manifest file associated with the game.
  • Two different issues will arise:
  1. 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.
  2. If the secondary PC's launcher had changed the name of the .manifest file 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 .item manifest file is now dissociated with the .manifest file 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 .item manifest 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.

How can Epic Games fix this?

  • The .item manifests 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 .item and .manifest files 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

About Platforms

  • Tested on Windows 10 only.
  • The default manifests path (C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests) is Windows-specific.

Requirements

  • 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 pyinstaller

Building the Executable

You can package the application into a standalone Windows .exe using the included build_project.py script.

  1. Build the Main Version (Modern):
    python build_project.py main
  2. Build the Legacy Version (CustomTkinter):
    python build_project.py archive

How to use the Modern GUI

1. Library Fixer

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 .item file in ProgramData.
  • Duplicate (No Local Source): Registry entry exists, but game folder is missing tracking files.

To fix any game:

  1. Click Refresh Library to scan.
  2. For Unregistered or Missing Manifest entries, click Fix.
  3. The tool will terminate Epic processes, sync the registry, and rename local tracking files to match the launcher's identity.

2. Moving Games

  1. Select a Linked game in the Library tab.
  2. Click Move and choose a destination folder.
  3. The tool transfers the files and updates the registry in real-time.

3. Advanced Tools

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.

Project Structure

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

Research Notes (Fork Updates)

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.

Metadata Sync:

  • The .egstore Folder: Every installed game contains a hidden .egstore folder. This is the local "Source of Truth" that holds the binary .manifest and .mancpn files required for the Launcher to recognize the installation.

  • .mancpn File Usage: Inside .egstore, the tool looks for .mancpn files. These contain the internal AppName, CatalogItemId, and NamespaceId needed 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 in C:\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 .dat points to a wrong folder, or if the InstallationGuid do not match the file name of the .item manifest 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.

About

FORKED to detect and fix already installed games and re-link games to the Epic Games Store launcher with a GUI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages