Command Line Interface (CLI)
automod
./automod
Auto Modding Script v4.0.0
Usage: automod [-s] opt* [ <mod-name> option*
| .batch option*
| .demo.[sb|soa]
| .diff[.into] <from-path> <to-path> <out-path>
| .search[.flat] <paths-input>.sam <out-path>
| .setup[.vscode [ <path-to-vscode> ]]
| .toml[.all] <out-path>
| .ttmapgen <args...>
| .upgrade
]
-s Disable Scala CLI server
opt:
-g <game-id> Active game identifier (default: SB)
-l <num> Maximum task logs to keep (default: 30)
-p Disable parallelization
--pak Force legacy .pak output even for zen games
-c <license-path> Include license file(s) in the generated mod
option:
--dry-run Disable actual mod generation and just test patches
--include-patches Include patches in the generated mod
--no-code-patching Disable code patching
--ultra-compression Use 7z ultra compression
.batch Generate a mod for each sub-folder in patches/<game-id>
.demo.sb Generate all Stellar Blade demonstration mods
.demo.soa Generate Sands of Aura demonstration mod
.diff Recursively diff JSON files and write jd and TOML patch files
.diff.into Use .diff between <from-path> with each sub-folder of <to-path>
.search Query UAssetAPI JSON files using the JSONPaths in <paths-input>
.search.flat Same as .search but without resolved paths in a single array result
.setup Only set up modding tools
.setup.vscode Set up modding tools and VSCode extensions
.toml Merge existing patch files in patches as TOML patch files
.toml.all Merge script code patches with patch files in patches as TOML
.ttmapgen <args...> Run the asset4j ttmapgen CLI (ttmap generator)
.upgrade Upgrade automod to the latest version
-
Disabling the Scala CLI server (
-s) reduces the number of dependencies that Scala CLI downloads, thus saving bandwidth. However, it will be slower to use because of the Java Virtual Machine (JVM) cold boot time. -
Game identifier is the folder name immediately containing
Content\Paksfor Unreal Engine games. For Unity games it is the game’s data directory (e.g.,WarmSnow_Data); set the game’sunityflag in.config.jsonto use asset4j modding (see Unity Modding). -
.uassetJSON conversion and patching are always parallelized, as they run on the JVM. -
--pakforces legacy.pakoutput (via repak) even for zen games. This is useful for zen games that read certain files (e.g., raw files like databases) through their legacy.paksystem instead of the zen containers (see Raw File Patching). -
.batchgenerates a mod for every enabled sub-folder ofpatches\<game-id>(Unreal Engine and Unity games alike); dot-prefixed folders (e.g.,.easy-mode) are skipped, so enabling a mod is just removing the leading dot. -
.ttmapgenruns the asset4j ttmap generator (tthm/dll/il2cpp), used to (re)generate Unityttmapschemas. -
--ultra-compressionpackages the mod as a.7zarchive instead of.zip. -
Unity mods embed an
install.pyinstaller (requires Python 3 on the installing machine, optional — files can be copied manually):python3 install.pyinstalls (backing up originals) andpython3 install.py -rrestores them. -
Game information (e.g., game directory) is stored in
.config.json