UTool — modding toolkit for extracting, patching, rebuilding, and packaging UE4/UE5 game assets, including pak files, JSON data, CurveFloat assets, and player data.
This repository is the source tree for the utool CLI and its libraries (UTool.*). Install and run utool, not a binary named after the repo folder.
git clone https://github.com/0bArc/utool.git
cd utool
dotnet run --project build.csproj -c ReleaseAdd dist\utool to PATH, then:
utool help
utool validate mods
utool compile mods\example-mod
utool pak build-mod <mod-dir>
Without PATH:
dotnet build utool.sln -c Release
dist\utool\utool.exe help| Area | CLI / behavior |
|---|---|
| Mods | list, validate, compile — mod.json, C# [PatchAsset] / [PatchPlayerData], JSON patches |
| Paks | pak data pull/list, pak find, pak ue extract (dir or @paks), build-mod — UnrealPak for *_P.pak |
| Saves | playerdata — local UE4 player data (e.g. accolades) |
| Setup | setup unrealpak — bundled assets/UnrealPak.zip or custom engine path |
Plain content-only packs can use the built-in C# PakBuilder; mount-point overrides need UnrealPak (useUnrealPak or sourcePak in mod.json).
| Project | Role |
|---|---|
| UTool.Cli | utool executable |
| UTool.Sdk | Mod author API — AssetPatch, JsonAssetEditor, player-data patches |
| UTool.ModLoader | Discover mods, apply patches, compile/run mod DLLs |
| UTool.Pak | Pak index/search, ModAssetPreparer, UnrealPak wrapper |
| UTool.Infrastructure | Cache, incremental builds, sandbox, parallel prepare |
| UTool.Core | ModManifest, shared models |
Cli → Pak, ModLoader → Infrastructure, Sdk → Core
Details: src/README.md.
Copy utool.json.example → utool.json (gitignored). Legacy csstratware.json is still read if present. Mod layout: mod.json.example and mods/example-mod/.
| Key | Purpose |
|---|---|
unrealPak / unrealEngineDir |
Optional; default uses local assets/UnrealPak.zip (see assets/README.md) |
gamePaksDir, dataPak |
Game paks (read/extract only) |
defaultMountPoint |
UE virtual mount in packed mods |
UnrealPak resolution (first hit wins):
<repo>/assets/UnrealPak/— auto-extract fromassets/UnrealPak.zipon first pack<project>/tools/UnrealPak/Engine/—setup unrealpak --from …%LocalAppData%\utool\UnrealPak\Engine\—setup unrealpak --appdata- Legacy
C:\software\UnrealPak\or Epic UE installs
Env: UTOOL_UNREALPAK (exe path), UTOOL_ROOT (repo root if auto-detect fails).
- src/README.md — SDK, compile/pak flow, command reference
- docs/setup.md — game mod walkthrough from scratch
- docs/UTOOL-WORKSPACE-GUIDE.md — Icarus workspace mods (250cap, noquarrites)
This project is licensed under the MIT License.
Third-party components and legal obligations (including UAssetAPI and UnrealPak / Epic’s Unreal Engine EULA) are documented in NOTICES.md. You must supply your own Unreal Engine toolchain for UnrealPak; engine binaries are not redistributed as part of this repository.