A tool that makes it easy to customize and create mods for theHunter: Call of the Wild (COTW).
Enable mods by adding the following launch options to your game executable:
--vfs-fs dropzone --vfs-archive archives_win64 --vfs-archive patch_win64 --vfs-archive dlc_win64 --vfs-fs .
Release builds are available in multiple locations:
- GitHub: https://github.com/RyMaxim/cotw-mod-builder/releases
- NexusMods: https://www.nexusmods.com/thehuntercallofthewild/mods/410
After each game update to theHunter: Call of the Wild, Mod Builder needs to be updated with the latest game files. While I perform this process for each new release, the files can also be updated manually by an end-user.
NOTE: Depending on the scope of changes from a game update, some mods may require code updates to continue working properly. Patching updated files into an older Mod Builder - Revived version not built for those files may result in bugs/crashes.
- Download the latest release of DECA
- Use DECA to unpack
theHunterCotW_F.exe - Look in the
/modbuilder/orgfolder to determine which files to extract with DECA - Use the "Extract Raw Files" option to extract each new file. In some cases (ammunition + weapon tuning files) you can extract entire folders
- Copy the extracted folders (not individual files) from DECA's
/work/hp/extractedfolder - Paste the copied folders into the
/modbuilder/orgfolder. Overwrite any changed files
Internal item names from the game files are mapped to human-readable names in name_map.yaml. This file can be found in the _internal folder of an already-built Mod Builder release to update an existing version. When new items are added to the game they will appear as equipment_<type>_<name>_01 in mods like Modify Ammo, Modify Store, and Modify Weapon. Adding the appropriate data to name_map.yaml will allow all of the mods to display a proper name.
- Determine the "internal" name of the item by reading the name parsed and displayed by Mod Builder from Modify Store (reads from
equipment_data.bin) - Open
name_map.yamlin a text editor - Find the appropriate location to add the equipment. Ammos/Sights/Weapons/Lures are organized by type. Try to keep things mostly alphabetical
- Add the item name as a new key, removing the
equipment_<type>_prefix. Variant suffixes (_01,_02) should be removed to group reskins of the same item (common for weapons and structures). - Fill in relevant data for the value (name, type, variant info)
Modify Weapon pulls names from .wtunec tuning files in org/editor/entities/hp_weapons. These names often do not match the names from other locations. Some weapons have multiple tuning files for different ammos (shotguns with shot/slugs, Grelck Drilling Rifle, etc). Most of these are handled as duplicate entries using YAML anchors (&item and *item), with an optional ammo value to differentiate mutliple tuning files. Follow the examples in the file to see how to format new additions.
NOTE: This was built and tested with Python 3.12.10
- Install
hatch: https://hatch.pypa.io/latest/install - Set up the virtual environment:
hatch env create - Run the application to test:
hatch run modbuilder - Build and package the application. The
modbuilder_X.Y.Z.7zfile will be placed in\distNOTE: This can be run on macOS to produce a Mac-compatible build
hatch run build hatch run pack
This project would not exist without several generous developers that chose to open-source their tools and mods:
- cpypasta: Developer of the original Mod Builder that this is forked from
- kk49: This project relies heavily on the wonderful DECA to extract and modify game files
