Home
Softono

Unreal Auto Mod

Open source Python
47
Stars
1
Forks
1
Issues
2
Watchers
1 year
Last Commit

 About Unreal Auto Mod

Unreal Engine modding tool, that covers project management, automated builds, and more. Supports 4.0-5.5

Platforms

Web Self-hosted

Languages

Python

Links

Need Help Installing Unreal Auto Mod?

We provide expert installation service for this software. Our team will install, configure, and secure Unreal Auto Mod on your server. plans start at just $30.

Unreal Auto Mod

View on GitHub

UnrealAutoMod

Notice: unreal_auto_mod has been renamed back to tempo, and all further development will continue here.

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

Project Example:

Project Screenshot

💪 Features

  • Supports Unreal Engine versions: 4.0-5.5
  • Supports loose file modding (unreal assets, not in a mod archive, like a .pak)
  • Supports modding iostore games
  • Automatic mod creation and placement
  • Automatic engine cooking, and packaging
  • Automatic game running
  • Automatic editor running
  • Event management system
  • Process management events
  • Window management events
  • Automatic script/exec running events
  • Supports creation of mod archives, through unreal_pak, repak, and engine made archives
  • Ability to add launch params to various script/exec running
  • Supports games with alternative packing structures (example game: Kingdom Hearts 3)
  • Supports packing edited files, through the persistent_files dir, or through the Event Management System
  • Easily configure what files end up in your final mod(s) and how with the Mod list within the config
  • Supports loading from json file, so you can have multiple projects easily
  • Logging
  • Colorful printouts
  • Ability to run in the background, with no windows

🛠️ Installation Steps:

  1. Download and unzip the latest release.
    You can keep the program anywhere you'd like.

2. Configure the Default JSON File

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:

    • Correct Example:
      "D:\SteamLibrary\steamapps\common\Zedfest\KevinSpel\Binaries\Win64\Zedfest.exe"
    • Incorrect Example:
      "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.

  1. 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": []
    }
  }

Configuration Details

  • 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.

Additional Notes

  • For JSON paths, use forward slashes (/) instead of backslashes (\). Make sure your paths match this format when editing the JSON file.
  • Settings Json Reference
  • Faq

  1. Run the application:
    Once everything is set up, you can proceed to the Running Steps.

🏃 Running Steps:

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> ...]

💻 References

💻 Built with

  • Python

🛡️ License:

license