UAssetGUI
A tool designed for low-level examination and modification of Unreal Engine game assets by hand.
Install / Use
/learn @atenfyr/UAssetGUIREADME
UAssetGUI
UAssetGUI is a tool designed for low-level examination and modification of Unreal Engine game assets by hand.
<img src="https://i.imgur.com/cibmlbW.png" align="center">Installation
You can find pre-built binaries of UAssetGUI in the Releases tab of this repository.
Command line arguments
You can run the program with command line arguments to perform various tasks, such as exporting and importing from UAssetAPI JSON without opening the GUI.
In the following cases, the engine version can either be specified as an EngineVersion enum entry (e.g. VER_UE4_23 to refer to 4.23, VER_UE5_0 to refer to 5.0, etc.) or as an integer (e.g. 23 to refer to 4.23, 29 to refer to 5.0, etc.). Specifying a set of mappings is optional, but if specified, must be the name of a file within the Mappings config directory (with no extension).
Export to JSON
UAssetGUI tojson <source> <destination> <engine version> [mappings name]
Example 1: UAssetGUI tojson A.uasset B.json VER_UE5_1
Example 2: UAssetGUI tojson A.uasset B.json 27 Astro
Import from JSON
UAssetGUI fromjson <source> <destination> [mappings name]
Example 1: UAssetGUI fromjson B.json A.umap
Example 2: UAssetGUI fromjson B.json A.umap Outriders
Open a specific file in the GUI
UAssetGUI [file name] [engine version] [mappings name]
Example 1: UAssetGUI (to simply open the GUI without opening a file)
Example 2: UAssetGUI test.uasset
Example 3: UAssetGUI test.uasset 23
Example 4: UAssetGUI test.uasset VER_UE5_4 Bellwright
Portable mode
If desired, you may wish to use UAssetGUI in portable mode. In portable mode, all configuration files, saved mappings, etc. are stored in a "Data" folder adjacent to the executable file, allowing UAssetGUI to be used on a USB drive or other portable media. This feature is only available in v1.0.4 or higher.
To set up portable mode, execute UAssetGUI with the following command line parameter. Once UAssetGUI has been launched in portable mode at least once, UAssetGUI can be executed normally (with no parameters) and it will remain in portable mode. To disable portable mode and return to normal operation, simply delete the "Data" folder adjacent to the UAssetGUI executable file.
Usage: UAssetGUI portable
Linux Setup
If you would like to set up UAssetGUI for Linux (through Wine), perform the following steps:
- If needed, download the latest UAssetGUI.exe binary through the Releases page of this repository.
- If needed, install the latest version of Wine. See this guide: https://gitlab.winehq.org/wine/wine/-/wikis/Download. These instructions were tested using Wine 11.0.
- Install the latest version of winetricks. See this guide: https://github.com/Winetricks/winetricks?tab=readme-ov-file#installing. If you are on Debian/Ubuntu, you should perform the steps under "Manual Install" on the winetricks GitHub page to make sure that winetricks is up-to-date.
- To install necessary pre-requisites, execute
winetricks dotnetdesktop8 microsson the command line and go through all prompts that appear. - Open UAssetGUI through Wine:
wine UAssetGUI.exe
Compilation
If you'd like to compile UAssetGUI for yourself, read on:
Prerequisites
- Visual Studio 2022 or later
- Git
Initial Setup
- Clone the UAssetGUI repository:
git clone https://github.com/atenfyr/UAssetGUI.git
- Switch to the new UAssetGUI directory:
cd UAssetGUI
- Pull the required submodules:
git submodule update --init
-
Open the
UAssetGUI.slnsolution file in Visual Studio, right-click on the UAssetGUI project in the Solution Explorer, and click "Set as Startup Project." -
Right-click on the solution name in the Solution Explorer, and press "Restore Nuget Packages."
-
Press the "Start" button or press F5 to compile and open UAssetGUI.
Contributing
Any contributions, whether through pull requests or issues, that you make are greatly appreciated.
If you have an Unreal Engine .uasset file that displays "failed to maintain binary equality," feel free to submit an issue on the UAssetAPI issues page with a copy of the asset in question along with the name of the game, the Unreal version that it was cooked with, and a mappings file for the game, if needed.
Please note: Your issue will NOT be reviewed if your issue cannot be replicated due to no test asset being provided.
License
UAssetAPI and UAssetGUI are distributed under the MIT license, which you can view in detail in the LICENSE file.
