/UnrealPakTool

UnrealPak 4.27.0 [ Tool ] -extract *.pak files for Unreal Engine 4 [win64] + GUI Tools

Primary LanguagePython

UnrealPak 4.27.0 [Tool] - Extract .pak Files for Unreal Engine 4 [win64] Unreal Engine 4.27.0 -> UnrealPak 4.27.0 Current Release of Unreal Engine can be found here: Unreal Engine 4 why_so_epic?! ๐Ÿ”ง New Update: GUI Tool for UnrealPak by Mustafa ip

We have introduced a new graphical user interface (GUI) tool for UnrealPak to make it easier to manage and execute commands without dealing with the command line manually. This tool allows you to run commands like extracting .pak files, listing contents, and repacking with simple clicks. ๐Ÿ“‹ How to Use the GUI Tool:

Select the UnrealPak.exe:
    Open the tool, and click the "Choose UnrealPak.exe" button to browse and select the UnrealPak.exe file. This file is typically located in your Unreal Engine directory.
    This step allows you to use any version of UnrealPak by selecting the executable dynamically.

Select the .pak File:
    Click the "Choose Pak File" button to select the .pak file that you want to work with.

(Optional) Select the Output Directory (for the -Extract command):
    If you are using the -Extract command, click the "Choose Output Directory" button to select where you want the extracted files to be saved.

Choose a Command:
    The GUI presents multiple commands such as -Test, -List, -Extract, -Repack, and more. Simply click the button corresponding to the command you wish to run.

View Results:
    The results of the command, along with any errors, will be displayed in the text box at the bottom of the tool. You can review any feedback or error messages here.

โš™๏ธ UnrealPak Commands Overview Basic Commands:

Test Pak File:

php

UnrealPak -Test

List Contents of Pak File:

css

UnrealPak -List [-ExcludeDeleted]

Export Dependencies:

php

UnrealPak -ExportDependencies= -NoAssetRegistryCache -ForceDependsGathering

Extract Contents:

php

UnrealPak -Extract [-Filter=]

Create Pak File:

php

UnrealPak -Create= [Options]

Repack Pak File:

css

UnrealPak -Repack [-Output=Path] [-ExcludeDeleted] [Options]

Diff Pak Files:

php

UnrealPak <PakFilename1> <PakFilename2> -diff

Additional Commands:

Audit Files in Pak Folder:

css

UnrealPak -AuditFiles [-OnlyDeleted] [-CSV=] [-order=] [-SortByOrdering]

Check Whatโ€™s at Specific Offset:

css

UnrealPak -WhatsAtOffset [offset1] [offset2] [offset3] [...]

Generate PIX Mapping File:

php

UnrealPak <PakFolder> -GeneratePIXMappingFile -OutputPath=<Path>

โš™๏ธ Command-Line Options

Use Encryption Keys:

diff

-cryptokeys=< encryption keys Crypto.json>

Block Size Configuration:

diff

-blocksize=< BlockSize >

Set Compression and Encryption:

diff

-compress -encrypt -encryptindex

Order Files for Compression:

css

-order=

Compare Two Pak Files:

diff

-diff

Set Compression Format:

vbnet

-compressionformat[s]=<Format[,format2,...]> (set the format(s) to compress with, falling back on failures)

Signature Generation:

diff

-sign

Override Encryption Key GUID:

diff

-encryptionkeyoverrideguid

๐Ÿ” Decryption:

To decrypt files, you must provide a Crypto.json file that contains the correct Base64 encryption key.

Open/edit the Crypto.json file located in the UnrealPakTool folder.
Modify the "EncryptionKey" section:

bash

"EncryptionKey": { "$type":"2", "Name":"null", "Guid":"null", "Key":"Your Base64 key here" },

Save the file and run the following command in the command prompt:

UnrealPak.exe name_of_your_game-WindowsNoEditor.pak -cryptokeys=Crypto.json

[ i ] Default Location for Crypto.json:

The default location for the Crypto.json file is within your project folder:

makefile

X:\Users\USER_NAME\Documents\Unreal Projects\YOUR_PROJECT_NAME\Saved\Cooked\WindowsNoEditor\YOUR_PROJECT_NAME\Metadata

๐Ÿ›  Licensing and Contributions

Your access to and use of Unreal Engine on GitHub is governed by the Unreal Engine End User License Agreement. If you don't agree to those terms, you are not permitted to access or use Unreal Engine.

We welcome any contributions to Unreal Engine development through pull requests on GitHub. Most of our active development is in the master branch, so we prefer to take pull requests there (particularly for new features). We try to make sure that all new code adheres to the Epic coding standards. All contributions are governed by the terms of the EULA. โ˜•๐Ÿ–ค Thanks for Supporting!