4

Background : I am making a unified game launcher, so I can launch games from all the different stores.

Eg: Launch commands for Steam/Origin

steam://rungameid/

origin://launchgame/

I ran into some issues finding a similar structure for EGS. There way of launching games seems a bit complicated. Example down below

com.epicgames.launcher://apps/AzaleaAlpha?action=launch&silent=true

The game is : "The Cycle Early Access".

  • How do I find the installed games which are from EGS?
  • How do I find the exact name of the game which the launch command expects? In the above example it's "AzaleaAlpha" for The Cycle
0

2 Answers 2

4

This was an interesting challenge.

First, I created a couple of shortcuts for a number of different games, and had a look at the .url file it created on my desktop. All the links are of the form:

com.epicgames.launcher://apps/[codename]?action=launch&silent=true

Where [codename] is different for each game. For example:

  • Metro Exodus: "Snapdragon"
  • Batman Arkham Knight: "Cowbird"
  • Hello Neighbor: "Ursus"

Since the EGS Launcher must know each of the games' codenames to create these shortcuts, I figured there must be some kind of config file somewhere on my computer, which lists the different codenames and where the games are installed.

So I used Visual Studio Code to perform a search in all files in my C:\ directory to find one of the codenames, and I found a nice list in:

C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat

Despite being a .dat, it's not a binary file, so it can be opened in any text editor app.

The list is a JSON, and contains only the games that have been installed on your PC. It may contain DLCs as well. Here's what mine looks like:

{
    "InstallationList": [
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\MetroExodus",
            "AppName": "SnapdragonDLC1",
            "AppVersion": "0.1.0.17"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\YookaLaylee",
            "AppName": "Duckbill",
            "AppVersion": "1.0.27910"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\HelloNeighbor",
            "AppName": "Ursus",
            "AppVersion": "1.4.1"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\WorldOfGoo",
            "AppName": "Anemone",
            "AppVersion": "1.53"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\BatmanArkhamKnight",
            "AppName": "Cowbird",
            "AppVersion": "1.98"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\BatmanArkhamAsylum",
            "AppName": "Godwit",
            "AppVersion": "1.93"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\TheTalosPrinciple",
            "AppName": "Bustard",
            "AppVersion": "461288"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\QUBE2",
            "AppName": "Auk",
            "AppVersion": "1.2"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\MetroExodus",
            "AppName": "Snapdragon",
            "AppVersion": "0.1.0.24"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\TheOuterWorlds",
            "AppName": "Rosemallow",
            "AppVersion": "Rel1.2.0.418"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\TABS",
            "AppName": "Driftfish",
            "AppVersion": "0.8.7_02"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\AxiomVerge",
            "AppName": "Puffin",
            "AppVersion": "1.47"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\Metro2033Redux",
            "AppName": "Petunia",
            "AppVersion": "0.1.0.0"
        },
        {
            "InstallLocation": "C:\\Program Files\\Epic Games\\BatmanArkhamCity",
            "AppName": "Egret",
            "AppVersion": "1.7"
        }
    ]
}

Interestingly, a copy of the list can also be found in another location:

C:\Users\All Users\Epic\UnrealEngineLauncher\LauncherInstalled.dat

I'm not sure which file is used in which context, but they both have exactly the same content. If your purpose is to simply create a launcher, either file should work.

5
  • 1
    Any idea why they use codenames?
    – Joachim
    Commented Jan 21, 2020 at 14:31
  • @Joachim. Unfortunately, no. If they continue like that, they'll eventually run out of codenames, so the codenames would have to come from the developers themselves. However, given the names on my list, they all seem to follow a sepcific theme (they're all either animals or flowers), so it's likely the codenames were chosen by Epic instead. I honestly can't make sense of why they'd do that. Sounds like a lot of effort for no apparent benefit.
    – Nolonar
    Commented Jan 21, 2020 at 14:37
  • Any idea how to launch other launchers silently? Like in EGS we can do silent=true can we do the same in other launchers? @Nolonar
    – ScreX
    Commented Feb 11, 2020 at 11:43
  • @Screx, sorry, I don't know.
    – Nolonar
    Commented Feb 11, 2020 at 20:36
  • @Nolonar no problem :D
    – ScreX
    Commented Feb 14, 2020 at 7:01
0

Update to @Nolonar's answer as of 2022 (maybe even 2021) and later:

Epic Games no longer uses the names it used to. Now it is a string of three hex numbers, each 32 digits long separated by encoded ":" (%3A). For example the game Shapez looks like this: com.epicgames.launcher://apps/315e6807f6684c279fc286d0fc36a44f%3Ad9a609c6106046eab55014955f31448b%3Ae87a43f695bc409ca8858206678ac7e7?action=launch&silent=true

But the logic behind it is still almost the same and everything needed can be found in the file: C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat, but its copy under all users seems to exist no longer.

The file now looks like this:

{
    "InstallationList": [
        {
            "InstallLocation": "D:\\program_files\\Epic Games\\InSoundMind",
            "NamespaceId": "fa9812acd30f46f8a69a75bf27addb5c",
            "ItemId": "929a84bff8a34d80b490f71550ec782f",
            "ArtifactId": "29ee5d32f328471590b3bd3ac03ed7d0",
            "AppVersion": "1.027",
            "AppName": "29ee5d32f328471590b3bd3ac03ed7d0"
        },
        {
            "InstallLocation": "D:\\program_files\\Epic Games\\QUBE2",
            "NamespaceId": "4b5f1eb366dc45f0920d397c01b291ba",
            "ItemId": "a86bbe049ef14f519c69fdc27615d7f4",
            "ArtifactId": "Auk",
            "AppVersion": "2.0.38",
            "AppName": "Auk"
        },
        {
            "InstallLocation": "D:\\program_files\\Epic Games/shapezaa2PF",
            "NamespaceId": "315e6807f6684c279fc286d0fc36a44f",
            "ItemId": "d9a609c6106046eab55014955f31448b",
            "ArtifactId": "e87a43f695bc409ca8858206678ac7e7",
            "AppVersion": "1.5.5",
            "AppName": "e87a43f695bc409ca8858206678ac7e7"
        }
    ]
}

If you want to run some game you'll have to construct a command that looks something like this (example on Shapez):

com.epicgames.launcher://apps/: This is the default starting string, something as steam://rungameid/

315e6807f6684c279fc286d0fc36a44f: Something called the NamespaceId

%3A: Separator (":")

d9a609c6106046eab55014955f31448b: Something called the ItemId

%3A: Separator (":")

e87a43f695bc409ca8858206678ac7e7: Something called the ArtifactId or AppName (They are the same as far as I can tell)

?: Argument separator

action=launch: To launch the game propably (I have no clue what other arguments are there, I tried info, show and uninstall with no luck)

&: Argument congestion

silent=true: If not present the Epic Games Launcher window will pop up

The last number (ArtifactId/AppName) is the most interesting because, for the games that were put on the Epic Games Store before the change to hex numbers (for example QUBE2), they have still retained their old 'codename/AppName', in the case of QUBE2 that's Auk

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .