Easy To Use Command Line Modding Utility For Unreal Engine Games 4.0-5.5
Automates creation, and placement, of mod archives, and other various actions.
For an in editor menu version check out UnrealAutoModInEditor
Most users will only need to edit a few settings, which can be done with a text editor. In the JSON file, you typically need to update the following:
Unreal Engine .uproject
File Path
Specify the path to your Unreal Engine project file.
Unreal Engine Directory
Define the directory where Unreal Engine is installed.
Game's Win64 Executable Path
Set the path to the game's Win64 executable. Ensure that the path is valid:
"D:\SteamLibrary\steamapps\common\Zedfest\KevinSpel\Binaries\Win64\Zedfest.exe"
"D:\SteamLibrary\steamapps\common\Zedfest\KevinSpel.exe"
Steam App ID
If using the Steam launch method (as opposed to the executable method), enter the Steam App ID.
Window Title Override String
Specify the string for the launched game's window label.
After configuring these settings, you can proceed to configure the mod list.
Configure the mod list:
You can include any number of mod entries in the list.
{
{
"mod_name": "MapKit",
"pak_dir_structure": "~mods",
"mod_name_dir_type": "Mods",
"use_mod_name_dir_name_override": false,
"mod_name_dir_name_override": null,
"pak_chunk_num": null,
"packing_type": "repak",
"compression_type": "Zlib",
"is_enabled": true,
"manually_specified_assets": {
"asset_paths": [],
"tree_paths": []
}
},
{
"mod_name": "ExampleLevel",
"pak_dir_structure": "~mods",
"mod_name_dir_type": "Mods",
"use_mod_name_dir_name_override": false,
"mod_name_dir_name_override": null,
"pak_chunk_num": null,
"packing_type": "repak",
"compression_type": "Zlib",
"is_enabled": true,
"manually_specified_assets": {
"asset_paths": [],
"tree_paths": []
}
}
mod_name
: This will be the final mod archive's file name, e.g., mod_name.pak
.
pak_dir_structure
: Specifies the folder structure within the game's Content/Paks/
directory. Common values are ~mods
and LogicMods
.
mod_name_dir_type
: Determines the built-in auto-include directory.
Mods
will include files from Game/Mods/ModName/
.CustomContent
will include files from Game/CustomContent/ModName/
.use_mod_name_dir_name_override
: Set to true
if you want your final mod name to include a suffix (e.g., _P
), but not the internal project name. Example: Content/Paks/~mods/ExampleName_P
vs. Game/Mods/ExampleName
.
mod_name_dir_name_override
: Specifies the folder to use instead of the default. Usually the mod_name
without any suffix.
pak_chunk_num
: Used only if you are using the engine packing enum. Set this to match what you configured inside Unreal Engine.
packing_type
: Specifies the packing method:
repak
for general use.engine
for iostore games.loose
for games using loose file modding.unreal_pak
for when you want to pak using unreal_pak, from your game engine install, usually not ever needed.compression_type
: Determines the compression method for the mod archives. Not applicable for loose file modding.
is_enabled
: Set to false
to disable packaging of the mod and uninstall it if it exists in the specified mod directory.
manually_specified_assets
: Lists additional assets to include:
asset_paths
: Direct paths to specific files (e.g., test.uasset
, test.uexp
).tree_paths
: Include all files in subfolders within specified directories./
) instead of backslashes (\
). Make sure your paths match this format when editing the JSON file.The release version, has some included bat files.
You can use these to run the default config, with the test_mods_all arg, or use it as a base and edit it.
There is also a version to run it headless (windowless).
The program itself, supports various command line parameters. Here are some examples of how you would use it.
unreal_auto_mod.exe -h
unreal_auto_mod.exe command -h
unreal_auto_mod.exe test_mods_all --settings_json_path <settings_json_path>
unreal_auto_mod.exe settings.json test_mods --settings_json_path <settings_json_path> --mod_names [<mod_name> ...]