Skip to content

0bArc/UTool

Repository files navigation

UTool

.NET build platform UE license

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.

Quick start

git clone https://github.com/0bArc/utool.git
cd utool
dotnet run --project build.csproj -c Release

Add 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

What it does

Area CLI / behavior
Mods list, validate, compilemod.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).

Solution layout

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.

Config

Copy utool.json.exampleutool.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):

  1. <repo>/assets/UnrealPak/ — auto-extract from assets/UnrealPak.zip on first pack
  2. <project>/tools/UnrealPak/Engine/setup unrealpak --from …
  3. %LocalAppData%\utool\UnrealPak\Engine\setup unrealpak --appdata
  4. Legacy C:\software\UnrealPak\ or Epic UE installs

Env: UTOOL_UNREALPAK (exe path), UTOOL_ROOT (repo root if auto-detect fails).

Docs

License

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.

About

.NET 8 UE4 mod toolkit — JSON/C# asset patches, UnrealPak pack, csmanager CLI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors