A CLI for extracting and datamining Unreal Engine game assets, powered by CUE4Parse.
- Regex paths for bulk extracting
- Path exclusions to avoid crashing
- Checkpoint system (only extract new/changed files)
- Parallel-processing files
- Apply mapping files
- Supports 40+ file types seen in UE games
All games supported by FModel are supported, as both use CUE4Parse.
After using FModel to determine which paths you wish you extract, download the latest release and run UnrealExporter.exe.
- Download and install .NET SDK 9.0
- Clone the repo, including all submodules, with
git clone https://github.com/whotookzakum/UnrealExporter --recursive - In your terminal, run
dotnet run --project UnrealExporter --
Example command:
dotnet run --project UnrealExporter -- pal.json -m MappingOverride.usmap --create-checkpoint --checkpoint latest
If you wish to build the project as a executable binary, use the following command:
dotnet publish UnrealExporter -c Release --self-contained true -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=falseUnrealExporter uses reusable config files stored in the configs folder (see example config). Run the program without any arguments to launch the interactive config builder.
For advanced usage, UnrealExporter also accepts command-line arguments — run with --help or see available options. Command-line arguments override config values when both are provided.
Checkpoints allow you to extract only new/modified files and skip unchanged files by keeping track of file sizes (see example checkpoint), greatly increasing extraction speed. Checkpoints will always track all game files, regardless of what you extract/exclude. Thus it is safe to use an existing checkpoint and create a new checkpoint at the same time to repeatedly only extract changed files every time a game updates.
Tip
You can quickly create a checkpoint without extracting anything by using the flags --create-checkpoint --exclude "*"
Tip
CreateNewCheckpoint (bool) and CheckpointFileName (filename.json) can optionally be added to your config files (see the example config).
Note
When adding new ExportPaths to your config, make sure to run UnrealExporter without a checkpoint so the paths you just added will be exported. Otherwise, those paths will not be exported until their contents change.
AES Keys:
- cs.rin.ru UE4/5 Key Collection
- UE4 AES Key Extracting Guide
- AES Finder
- Check the
#game-compatibilitychannel in the Fmodel Discord
Mapping files:
- Unreal-Mappings-Archive
- UnrealMappingsDumper
- Check the
#game-compatibilitychannel in the Fmodel Discord
- Download the latest release of UE4SS and extract the files to the same location as your game's
-Win64-Shipping.exefile. - Modify the following sections in
UE4SS-settings.ini
[Debug]
+ GuiConsoleEnabled = 1
+ GuiConsoleVisible = 1
...
+ GraphicsAPI = dx11- Launch the game.
- In the UE4SS GUI, click on the Dumper tab and output the usmap file. It'll be in the same location (
.../Binaries/Win64/Mappings.usmap). - Copy or move the
.usmapfile to UnrealExporter'smappingsfolder - Update your config to match the file name of your mappings file, i.e.
Palworld.usmap
The exporter should now be able to detect the game files.