Important
This guide only applies when there are .ucas, .utoc & .pak files inside Content/Paks folder.
Caution
FModel can open IoStore containers/paks, and can even let you export them. However, these assets are incompatible with UAssetGUI, but can be edited by manual hex editing.
Because some tools out there only support the traditional cooked asset format, such as UAssetGUI, you need to get the right format of assets first.
The following tools, retoc and Zentools, can be used to extract the traditional cooked assets (.uasset/.uexp) from the IoStore container files, which are .ucas, .utoc & .pak.
Tip
It is recommended to try using retoc first as it is generally faster and more reliable. If you encounter any issues, you can try using ZenTools as a backup.
retoc is not only able to pack and unpack IoStore containers, but also convert between Zen assets and Legacy assets (found in .pak containers).
To use retoc, you need to download the latest release from the releases page. Download the file you need based on your system or use the powershell script provided at the top if you are on Windows.
Navigate to the directory where you downloaded retoc.exe and open the terminal.
Run retoc.exe --help to see the available commands and options.
to-legacy is used to convert from the IoStore format to the cooked asset format you can edit with UAssetGUI.
Tip
It is recommended to use --filter to specify which assets you want to convert, especially if you are working with large games.
For example: --filter "/Content/MainFolder/saving-loading/customization/progress" will only convert assets inside the progress folder.
Use --aes-key to specify the AES key if your game is encrypted. You can find the AES key in the Adding AES guide.
Here is an awesome video guide on using retoc as a command line tool:
There are two versions of ZenTools that you need to get depending on your game's UE version;
- ZenTools for UE5 (if your game is UE5.1 - UE5.4)
- ZenTools for UE4 (if your game is UE4)
Go to the release page and download the latest release. This can just be the ZenTools.exe file, but you may also want to download the .pdb file alongside it in-case you have errors and want to post the tool output (this is useful for the maintianer).
Warning
Do not run ZenTools.exe by clicking on it, it is not meant to be used this way. You would see a window popup then dissapear. This is a tool that is meant to be run from the command line.
Navigate to your modding directory of choice. Then open a command prompt shell. You can do that easily by either right clicking anywhere on the file explorer and clicking "Open in Terminal/command prompt", or by clicking on the file path bar (folder > folder > folder), typing cmd and hitting enter.
Simply follow the usage guide in the project's README on GitHub and enter your command into cmd.
Important
If your game is UE5.1, make sure to include the -ZenPackageVersion=Initial option in your command.
If your game has an AES key (i.e. is encrypted), you can find it in the Adding AES guide, then use the -AES= option in your command.
Caution
Make sure to use quotation marks "" whenever you are specifying file paths if they contain any spaces.
Tip
If it is taking a long time to extract, try using package filters to filter certain folders, for example /Game/Content/Blueprints. You can find project folders by opening the pak in FModel
If your game is UE5.1:
ZenTools.exe ExtractPackages "Path to UE5.1 game/Content/Paks" "Output directory" -ZenPackageVersion=Initial
If your game is UE5.1 and has encryption:
ZenTools.exe ExtractPackages "Path to UE5.1 game/Content/Paks" "Output directory" -ZenPackageVersion=Initial -AES=0x12345678
If your game is UE5.2 and has encryption:
ZenTools.exe ExtractPackages "Path to UE5.2 game/Content/Paks" "Output directory" -AES=0x12345678
If your game is very large (e.g. 100GB+) and you want to only extract certain asset paths, say, weapon blueprints folder:
ZenTools.exe ExtractPackages "Path to game/Content/Paks" "Output directory" -PackageFilter=/Game/Content/Blueprints/Weapons
Follow this guide.
Install ZenTools UE4 in the same way as ZenTools UE5 - download link.
If your game is encrypted, note that there is no -Aes= or equivalent option, you must supply a keys.json file. This is simply a file that is:
{
"00000000-0000-0000-0000-000000000000": "DEADBEEFCAFEDEADBEEFCAFEDEADBEEFCAFEDEADBEEFCAFEDEADBEEFCAFEDEAD"
}Caution
The keys.json does not support 0x at the start of your AES key, so make sure to remove that in the file.
Caution
Make sure to use quotation marks "" whenever you are specifying file paths if they contain any spaces.
Tip
If it is taking a long time to extract, try using package filters to filter certain folders, for example /Game/Content/Blueprints. You can find project folders by opening the pak in FModel
If game has encryption:
ZenTools.exe ExtractPackages "Path to UE4 game/Content/Paks" "Output directory" -EncryptionKeys="Path to keys.json"
If game has no encryption:
ZenTools.exe ExtractPackages "Path to UE4 game/Content/Paks" "Output directory"
If your game is very large (e.g. 100GB+) and you want to only extract certain asset paths, say, enemy blueprints folder:
ZenTools.exe ExtractPackages "Path to game/Content/Paks" "Output directory" -PackageFilter=/Game/Content/Blueprints/Enemies
Follow this guide.
