Usually, when using UE for project development, there will be multiple engine versions locally, while the Epic Game Launcher only supports the startup of the installed engine and does not support the engine of source compilation. When there are multiple engine versions locally, it is inconvenient to switch, and there is no convenient way to start engine tools, projects and add startup parameters to projects. Many scripts need to be created when executing commandlets, which is very troublesome for management. Based on these pain points, I developed a UE initiator: UELauncher , which is used to solve these problems and support UE4 and UE5 at the same time.
UE Launcher It is a tool developed based on UE Standalone Application mode. It uses UE as the basic library and the UI is written in Slate. See my previous article for the relevant implementation mechanism: Create A Standalone Application in UE4.
UELauncher Function introduction:
- Be able to scan out all engine versions installed in the system
- Be able to select engine tools (such as UE4Editor/UnrealFrontEnd/IPhonePackager, etc.)
- Ability to select upproject projects
- For the source version engine, you can easily start VS and open sln
- Ability to add startup parameters
- Save engine, project, startup parameters and other configurations
- Global configuration is supported. You can add a configuration list and save commonly used configurations to realize convenient startup
- Support command line startup
- Support upproject file association
- Both UE4 and UE5 are supported
main interface

The specific functions are also relatively intuitive. The advanced usage will be introduced later.
File association
After starting the tool with "administrator permission", the file association of upproject will be automatically added to the system registry, similar to the default file association of UE:

A uejson file will be created according to the engine version of the current project. Double click to open it with UELauncher and edit the startup parameters:

After editing the configuration, you can save it. uejson files also have file associations, which can be edited by UELauncher, and the configuration file can be started directly without starting the window:

So you can UE Launcher As a scheduler, it can start silently based on the configuration file. It is very convenient to implement some commandlet s.
Custom add engine tool
In version v0.20, I integrate the following engine tools by default:
- Editor
- Editor-cmd
- UnrealFrontEnd
- IPhonePackager
- NetworkProfiler

However, if you want to add other tools, such as unreal insight, I provide a method of configuring files. After the program starts, a LaunchTools.json file will be created in the exe directory, which records the configuration of engine tools:

You can add engine tools using the following format:
{ "ToolName": "NetworkProfiler", "PreArgs": "", "BinPath": "Engine/Binaries/DotNET" }
Note: ToolName must strictly match the name of exe. BinPath is the root path of exe relative to the engine.
Global configuration
When the tool starts, the Global configuration will be loaded automatically. By default, the configuration file is in the path of exe and named Global.json.

It will be updated automatically when adding or deleting. You can also Load Global.json in other locations separately through Load Global.
Global.json is also a text JSON file:
{ "613EF17D49C4B6CD93268D9EC7E2740F": { "Engine": "C:/build_agent/workspace/FGameEngine/Engine", "Project": "D:/UnrealProjects/Client/FGame.uproject", "Tool": "Editor", "ToolPreArgs": "", "Params": [] }, "9952A0F144015DC2301F94A82552E378": { "Engine": "C:/build_agent/workspace/FGameEngine/Engine", "Project": "D:/UnrealProjects/Client/FGame.uproject", "Tool": "IPhonePackager", "ToolPreArgs": "", "Params": [] }, "98286E134C9D7BE6A91823A2A6880EED": { "Engine": "D:/UGit/Engine_bin/FEngine", "Project": "D:/UGit/Engine_bin/FClient/FGame.uproject", "Tool": "Editor", "ToolPreArgs": "", "Params": [] }, "GUIDs": [ "613EF17D49C4B6CD93268D9EC7E2740F", "9952A0F144015DC2301F94A82552E378", "98286E134C9D7BE6A91823A2A6880EED" ] }
Command line startup
I am UE Launcher Command line startup is supported. It can be used as a scheduler to start through the configuration file without considering manually specifying the engine version.
It has the following three parameters:
- -e: Edit to create a window and edit the configuration
- -c: Commandline to start the configuration from the command line
- -g: Generate Config to generate uejson through the passed in upproject
# Edit configuration UE4Launcher-Win64-Shipping.exe -e LaunchConf_FGame.uejson # Command line startup configuration UE4Launcher-Win64-Shipping.exe -c LaunchConf_FGame.uejson # Generate uejson UE4Launcher-Win64-Shipping.exe -g D:\UnrealProjects\Client\Client.uproject
Based on the provided command line, you can start the preset command based on the configuration file.
Update & Download
v0.20
UELauncher is extended to support the tool of configuration list, which can easily switch between configurations and use preset functions.
- Support adding global configuration
- Support automatic reading of global configuration at startup
- Adaptive width
- Support to load global configuration, refresh and delete separately
- Redesign layout
- Add IPhonePackager tool by default

Download address: UE4Launcher_v0.20
v0.18
- It supports the startup of UE5 engine and project
Download link: v0.18
v0.17
- Add configuration of startup tool
- Optimized json structure
Now you can add other tools of the UE without modifying the code. When starting for the first time, a LaunchTools.json file will be generated in the directory where UE4Launcher.exe is located:
{ "LaunchTools": [ { "ToolName": "UE4Editor", "PreArgs": "", "BinPath": "Engine/Binaries/Win64" }, { "ToolName": "UE4Editor-cmd", "PreArgs": "", "BinPath": "Engine/Binaries/Win64" }, { "ToolName": "UnrealFrontend", "PreArgs": "", "BinPath": "Engine/Binaries/Win64" }, { "ToolName": "NetworkProfiler", "PreArgs": "", "BinPath": "Engine/Binaries/DotNET" } ] }
These are the four default tools, which can be added here in the same format.
Parameter Description:
- ToolName: exe name of the tool, remove the suffix;
- PreArgs: what parameters are passed by default during startup;
- BinPath: path relative to the engine;

v0.16
- Fix bugs
- Support launch project sln with Visual Studio
v0.15
- Fix bugs
- Ignore project and launch params when just selected program.
- Support Launch UnrealFrontend and NetworkProfiler and custom additional tools
v0.14
- Fix bugs
- Add installer icon.