Skip to content

Commit 1450250

Browse files
Update README.md
1 parent 971904a commit 1450250

1 file changed

Lines changed: 58 additions & 22 deletions

File tree

README.md

Lines changed: 58 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,78 @@
1-
> [!WARNING]
2-
> This tool is being rewritten with new libraries. The bugs in the current version will be fixed in the next version. You can also use FModel to extract assets from utoc and ucas
1+
# UnrealReZen
2+
![GitHub Stars](https://img.shields.io/github/stars/rm-NoobInCoding/UnrealUnZen) ![GitHub Forks](https://img.shields.io/github/forks/rm-NoobInCoding/UnrealUnZen) [![build and test](https://github.com/rm-NoobInCoding/UnrealUnZen/actions/workflows/dotnet-desktop.yml/badge.svg)](https://github.com/rm-NoobInCoding/UnrealUnZen/actions/workflows/dotnet-desktop.yml) [![Github All Releases](https://img.shields.io/github/downloads/rm-NoobInCoding/UnrealUnZen/total.svg)]()
33

4-
# UnrealUnZen
5-
### Unreal Engine Archive Unpacking and Packing Tool
4+
A tool for creating and packing Unreal Engine .Utoc and .Ucas files.
65

7-
![GitHub Stars](https://img.shields.io/github/stars/rm-NoobInCoding/UnrealUnZen) ![GitHub Forks](https://img.shields.io/github/forks/rm-NoobInCoding/UnrealUnZen) [![build and test](https://github.com/rm-NoobInCoding/UnrealUnZen/actions/workflows/dotnet-desktop.yml/badge.svg)](https://github.com/rm-NoobInCoding/UnrealUnZen/actions/workflows/dotnet-desktop.yml) [![Github All Releases](https://img.shields.io/github/downloads/rm-NoobInCoding/UnrealUnZen/total.svg)]()
6+
## How it works
7+
First, it is better to know how ZenLoader files work
8+
ZenLoader consists of two parts
9+
- .utoc, which stands for Unreal table of contents, contains the information of the assets, such as ID, offset, size, etc.
10+
- .ucas, which contains the content of Assets in compressed or raw form
11+
12+
The important point of this structure is that you cannot add a new Asset to the game because each Asset contains a unique ID. And due to this unique ID, the tool must first read the game archives and then create the new archive.
13+
14+
The tool checks the game archives using the CUE4Parse library and after receiving the required information of the Assets, it creates a patch based on your edited files.
15+
## Usage
16+
17+
```console
18+
> UnrealReZen.exe --help
19+
UnrealReZen 1.0.0
20+
Copyright (C) 2024 UnrealReZen
21+
USAGE:
22+
Making a patch for a ue5 game:
23+
UnrealReZen.exe --content-path C:/Games/MyGame/ExportedFiles --compression-format Zlib --engine-version GAME_UE5_1
24+
--game-dir C:/Games/MyGame --output-path C:/Games/MyGame/TestPatch_P.utoc
25+
26+
-g, --game-dir Required. Path to the game directory (for loading UCAS and UTOC files).
27+
28+
-c, --content-path Required. Path of the content that the you want to pack.
29+
30+
-e, --engine-version Required. Unreal Engine version (e.g., GAME_UE4_0).
31+
32+
-o, --output-path Required. Path (including file name) for the packed utoc file.
833

34+
-a, --aes-key AES key of the game (only if its encrypted)
935

10-
### Overview:
36+
--compression-format (Default: Zlib) Compression format (None, Zlib, Oodle, LZ4).
1137

12-
UnrealUnZen is a powerful and versatile modding tool designed for the seamless unpacking and packing of Unreal Engine Archive files, including the new utoc and ucas formats. Whether you're a game modder, developer, or enthusiast, UnrealUnZen provides an intuitive and efficient solution for manipulating game assets within the Unreal Engine ecosystem.
38+
--mount-point (Default: ../../../) Mount point of packed archive
1339

14-
**Key Features:**
40+
--help Display this help screen.
1541

16-
- **Unpacking Brilliance:** Easily extract game assets from utoc and ucas files, allowing you to access, modify, and enhance game content with ease.
42+
--version Display version information.
43+
```
44+
Some important notes :
45+
- You DON'T have to pack the WHOLE ARCHIVE that you wanna patch! just put the assets that you wanna patch
46+
- This DOESN'T support extracting assets from ZenLoader archives. use FModel.
47+
- This tool supports multi archive patching. check example section.
48+
- For games that have archive signature (.sig file for each utoc) this tool doesn't work until you bypass the sig loader.
49+
- Utoc structure can be different in games (unlikely) and your patch may not be loaded by the game and I don't have enough time to support all the games in the world.
1750

18-
- **Effortless Packing:** Streamline the process of repackaging your modified assets back into Unreal Engine Archive files, ensuring compatibility with your favorite games.
1951

20-
- **UEcastoc Integration:** Built upon the robust [UEcastoc](https://github.com/gitMenv/UEcastoc) library, UnrealUnZen benefits from its reliability and performance, making it a dependable choice for modding projects.
2152

22-
- **User-Friendly Interface:** The tool's user interface is designed with modders in mind, featuring a straightforward workflow that minimizes complexity and maximizes productivity.
53+
## Examples
54+
Lets mod a game. For example i wanna patch two assets in "The Casting of Frank Stone".
55+
- `pakchunk3-Windows.utoc/SMG037UE5/Content/Animations/Cinematics/curiosity_howmuch.uasset`
56+
- `pakchunk7-Windows.utoc/SMG037UE5/Content/Animations/Cinematics/warning_reset_CHRISEND_CHILD_BODY.uasset`
2357

24-
- **Cross-Platform Compatibility:** UnrealUnZen is compatible with multiple operating systems, making it accessible to modders regardless of their preferred development environment.
58+
I will export the through FModel, edit them and put them in a folder that I named MyPatchedContent (with same path root for each asset).
59+
- `MyPatchedContent/SMG037UE5/Content/Animations/Cinematics/curiosity_howmuch.uasset`
60+
- `MyPatchedContent/SMG037UE5/Content/Animations/Cinematics/warning_reset_CHRISEND_CHILD_BODY.uasset`
2561

26-
**Getting Started:**
62+
Now Because the game is UE 5.1 and its not encrypted I run the tool with this args :
2763

28-
*will added later
64+
```
65+
UnrealReZen.exe --content-path C:/TheCastingofFrankStone/MyPatchedContent --compression-format Zlib --engine-version GAME_UE5_1 --game-dir C:/TheCastingofFrankStone/SMG037UE5/Content/Paks --output-path C:/TheCastingofFrankStone/SMG037UE5/Content/Paks/MyPatch_P.utoc
66+
```
2967

30-
**Contributing:**
68+
*To find out the version of Unreal Engine used in a game, just check the version of the bootstap executable file of the game (executable file that is in the root of the game folder)
69+
## Contributing
3170

32-
We welcome contributions from the modding community to enhance UnealUnZen's functionality and support for various Unreal Engine games. Feel free to fork the repository, make improvements, and submit pull requests.
71+
We welcome contributions from the modding community to enhance UnealReZen's functionality and support for various Unreal Engine games. Feel free to fork the repository, make improvements, and submit pull requests.
3372

34-
**License:**
3573

36-
UnrealUnZen is open-source software released under the [MIT License](LICENSE), granting you the freedom to use, modify, and distribute it as you see fit.
3774

38-
**Contact:**
75+
## License
3976

40-
For questions, suggestions, or bug reports, please open an issue on the GitHub repository. Your feedback is invaluable in improving UnrealUnZen and ensuring its continued usefulness to the modding community.
77+
[GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/)
4178

42-
**Join the Modding Revolution with UnrealUnZen!**

0 commit comments

Comments
 (0)