Setup

curl -JLo automod.zip https://codeload.github.com/jpabscale/automod/legacy.zip/master
tar xf automod.zip
move jpabscale-automod-* automod
del automod.zip
cd automod & :: change to uncompressed directory if downloaded as a zip file
automod .demo.sb & :: generate Stellar Blade demonstration mods
automod .demo.soa & :: generate Sands of Aura demonstration mod
automod .setup.vscode & :: or, automod .setup
curl -JLo automod.tar.gz https://codeload.github.com/jpabscale/automod/legacy.tar.gz/master
tar xf automod.tar.gz
mv jpabscale-automod* automod
rm automod.tar.gz
cd automod # change to uncompressed directory if downloaded as a zip file
./automod .demo.sb # generate Stellar Blade demonstration mods
./automod .demo.soa # generate Sands of Aura demonstration mod
./automod .setup.vscode # or, ./automod .setup
As it generates a mod (e.g., .demo.sb or .demo.soa), automod uses retoc/repak to extract legacy .uasset/.uexp files, converts them to UAssetAPI .json format in-process using uasset4j (the JVM port of UAssetAPI), programmatically patches the .json file, converts the patched .json file back to .uasset/.uexp in-process using uasset4j, and then to .utoc/.ucas/.pak using retoc/repak.
At the end of the mod generation, it will create a <mod-name>.zip (or <mod-name>.7z) archive file containing the .utoc/.ucas/.pak files that can be uncompressed inside ...\<game-folder>\<game-id>\Content\Paks\~mods (or ...\Paks\LogicMods), manually or managed by using a mod manager.
.config.json
Game and tool information is stored in a .config.json file in the directory you run automod from (a workspace folder, or the automod installation directory). It is created automatically on the first run with sensible defaults, and it is the only thing you normally need to edit: fill in the directory of the game you want to mod, then select it with -g <game-id> (or the extension’s Active Game ID setting).
{
"games": {
"SB": {
"aesKey": "",
"contentPaks": "SB/Content/Paks",
"directory": "D:\\SteamLibrary\\steamapps\\common\\StellarBlade",
"mapUri": "https://github.com/jpabscale/automod/releases/download/usmap/StellarBlade_1.4.1.usmap.7z",
"repakPackOptions": "",
"unity": false,
"unrealEngine": "4.26",
"zen": true
},
"WarmSnow": {
"aesKey": "",
"contentPaks": "WarmSnow_Data",
"directory": "D:\\SteamLibrary\\steamapps\\common\\WarmSnow",
"mapUri": "https://github.com/jpabscale/automod/releases/download/ttmap/warmsnow_3.1.0.1.ttmap",
"repakPackOptions": "",
"unity": true,
"unrealEngine": "",
"zen": false
}
},
"tools": {
"fmodel": "7c86ee47ec2722152b735b7cb788686f6ea3e91a",
"jd": "2.5.0",
"repak": "0.2.4-pre.2",
"retoc": "0.1.6-pre.3"
}
}
The important games.<game-id> fields:
directory– the game’s install directorycontentPaks– for Unreal Engine games, the path to thePaksdirectory relative to the game (e.g.,SB/Content/Paks); for Unity games, the game’s data directory (e.g.,WarmSnow_Data)unity–trueto patch the game as a Unity game (asset4j); otherwise it is treated as an Unreal Engine gameunrealEngine– the Unreal Engine version (e.g.,4.26); empty for Unity gamesmapUri– theusmap(Unreal Engine) orttmap(Unity) URL, auto-downloaded during setup (optional; can be empty when the map file is already present or not needed, e.g., Unity games with embedded type trees)aesKey– the game’s AES key, if it requires onezen–truefor Unreal Engine zen containers (.utoc/.ucas);falsefor legacy.pakand Unity gamesrepakPackOptions– extra repak packing options (e.g.,--version V11)
The tools section holds the versions of the managed tools (retoc, repak, jd, fmodel) and is auto-managed, so you generally do not need to touch it. You can edit .config.json by hand or through the VSCode extension settings.
Unity mods
Unity mods are generated the same way — pick the game with -g <game-id> and run .batch (or pass a mod name directly). For example:
./automod -g WarmSnow .batch
./automod -g BladedFury .batch --ultra-compression # also build a .7z archive
Each generated archive embeds an install.py installer and a gameDataDir.txt hint, so installing (and uninstalling) a mod is just:
python3 install.py # install (backs up originals)
python3 install.py -r # restore the originals (undo)
The installer requires Python 3 on the machine installing the mod (not to run automod itself), and it is optional — you can instead uncompress the archive and copy the files into the game’s data directory manually. The originals are backed up to <game-dir>/../<mod-name>-backup/ before they are overwritten. See the Unity Modding guide for the patch file forms.
Upgrading automod
automod .upgrade
./automod .upgrade