HITMAN 3 - Modding Thread

It worked, thank you so much! Is it possible to replace markus stuyvesant’s hat with a hat from another model? I tried importing the depends of the other hat and replacing the .temp, .tblu, and .prim in dependency editor but nothing happened.

1 Like

Lighting Ultimate 1.3 is live, and now supports game update 3.50!
Featuring improvements to Paris, Sapienza, and Colorado.


From what you’re saying it SEEMS like you have the right idea of what needs to be done. Not sure where it went wrong? :thinking:
As with the removal of body parts, it can be as “simple” as swapping the .PRIM address in the dependency editor or it requires additional steps.

For a clothing .PRIM swap:

  1. Extract outfit .TEMP
  2. With the dependency editor, open the .TEMP.meta and replace the .PRIM address with a different clothing hash.
  3. If from a different chunk than outfit .TEMP, extract clothing .PRIM and all it’s depends
  4. In extracted depends folder delete destination base and patch folders (e.g. chunk0, chunk0patch1, etc.) and transfer “patch” folders into their base folders. (e.g. chunk1patch1 into chunk1). Overwrite when prompted.
  5. Create patch .rpkg from folder containing outfit .TEMP, .PRIM and all it’s depends.

For a clothing .TEMP swap:

  1. Extract outfit .TEMP
  2. Extract outfit .TBLU (Usually the very last depend on the list of depends on the right panel).
  3. With the dependency editor, open outfit .TEMP.meta and replace clothing .TEMP with your desired clothing .TEMP.
  4. With the dependency editor, open outfit .TBLU.meta and replace clothing .TBLU with your desired clothing .TBLU.
  5. If from a different chunk than outfit .TEMP, extract clothing .TEMP and all it’s depends.
  6. In extracted depends folder delete destination base and patch folders (e.g. chunk0, chunk0patch1, etc.) and transfer “patch” folders into their base folders (e.g. chunk1patch1 into chunk1). Overwrite when prompted.
  7. Create patch .rpkg from folder containing outfit .TEMP and .TBLU, and clothing .TEMP and all its depends.

Note: It is not guaranteed that your swapped out clothing part will share the same color properties as it looks on the outfit you originally saw it. These properties are usually modified by the outfit .TEMP script. What you see will be the default settings.


Can’t you just skip the extract as glb part just by searching the hashes in rpkg, and using the built in viewer?

Technically you could, so you have to open two Versions of rpkg Tool for that and make sense of the Model in the small Window.

You can also edit bodyparts by removing entities from m_aBodyParts in the TEMP file but that involves using ResourceTool then.

Or by setting editoronly to true in the tblu

I want to leave this here in this thread in case somebody forgets or didn’t know in the first place the codenames and chunks of every location (IIRC, although feel free to correct me if I am wrong):
chunk27-Paris, codename: paris/peacock
chunk26-Sapienza, codename: coastaltown/octopus
chunk25-Marrakesh, codename: marrakesh/spider
chunk24-Bangkok, codename: bangkok/tiger
chunk23-Colorado, codename: colorado_2/bull
chunk22-Hokkaido, codename: hokkaido/SnowCrane

chunk20-Hawke’s Bay, codename: sheep
chunk19-Miami, codename: miami/flamingo
(AST, codename: miami/cottonmouth)
chunk18-Colombia, codename: colombia/hippo
(EoTS, codename: colombia/anaconda)
chunk17-Mumbai, codename: mumbai/mongoose
(IoG, codename: mumbai/kingcobra)
chunk16-WC, codename: northamerica/skunk
(ABP, codename: northamerica/gartersnake)
chunk15-IoS, codename: theark/magpie
chunk14-Himmelstein, codename: hawk
chunk13-Singapore, codename: salty/seagull
chunk12-New York, codename: greedy/raccoon
chunk11-Siberia, codename: caged/falcon
chunk10-Haven, codename: opulent/stingray

chunk0-Dubai, codename: golden/gecko
chunk3-Dartmoor, codename: ancestral/bulldog
(Dartmoor Garden Show, codename: ancestral/SmoothSnake)
chunk4-Berlin, codename: edgy/fox
chunk6-Chongqing (hmm, odd), codename: wet/rat
chunk5-Mendoza, codename: elegant/llama
chunk7-Romania, codename: trapped/wolverine

1 Like

Whatever floats your boat. They both have the same outcome.
One requires simply exporting and opening one by one.
The other requires browsing away from the current .TEMP (Copy/paste depends in Notepad so you have hashes readily available) or opening another instance of RPKG Tool and searching there.

RPKG Tool v2.16.3

  • Updated ResourceLib:
    • Changelog:
      • Update ResourceLib for HITMAN 3
      • Add Hitman 2016 support to CodeGenLib and the CodeGen tool.
      • Add a new ResourceLib variant that supports Hitman 2016 (ResourceLib_HM2016).
      • Add Hitman 2016 support to ResourceTool.
      • Improve error output of ResourceLib / ResourceTool when resource generation fails.
  • Note: H2016 brick editing is not currently supported but the ResourceLib DLL is included in the download. This DLL can be safely deleted.
  • Updated enums to match ResourceLib (for brick editor).
  • LOCR/RTLV support for the latest H3 update.
    • Note: DLGE will currently show the incorrect language identifiers but this doesn’t affect functionality.
  • Made details, hex viewer & JSON viewer read only.
  • Fixed a bug where the image viewer can crash the GUI.
  • Fixed a bug where certain LOCR would crash the program (Inconsistent IOI).
  • Added a -licenses command to RPKG CLI.

The adjectives here are the location, the nouns are their primary mission - there’s also Ancestral/SmoothSnake for Garden Show.

1 Like

Thanks for reminding me! SmoothSnake can now be found on the list.

There’s also miami/cottonmouth and northamerica/gartersnake (skunk is northamerica/skunk), both of which are Atlantide. There’s mumbai/kingcobra which is Illusions of Grandeur. Embrace of the Serpent is colombia/anaconda.

If you want the main story mission codenames for H1 they’re Peacock, Octopus, Spider, Tiger, Bull and SnowCrane.

1 Like

Help me please. I want to replace audio voices in the game. I was able to Pull the files out of there. And so I think … How can I add files there with replacement? You can give some advice on this situation.

1 Like

where can i find packagedefinition for mods version 3.50?
and everytime hitman 3 updated where can i find this file ? :thinking:

The packagedefinition.txt file itself, prepatched, is in the HITMAN3/Runtime folder.
You can either patch that file here:
Or download one that is already patched here:

1 Like

If you use my mod framework, you can use the optional modder tool to convert it into the framework-specific entity.json format. I spent more time than I want to admit on getting this format as easy to mod as possible: it unifies TEMP, TBLU and both meta files into a single JSON file, getting rid of all index references and instead referencing things by name.

To just do a conversion and edit you can use the launcher script: export the TEMP and the corresponding TBLU and copy them into the same folder. Rename them so that both have the same file name. Then drag and drop the TEMP onto the Modder Tool launch script. The framework then creates the entity.json for you.

You can use entity.json files as if they were both TEMP and TBLU files in framework-compatible content packs: just add them to the raw folder of a content pack. This permits you to create mods that do not replace anything, like my poisonous item mod or the changed levels in my unrestricted loadouts mod. The modder tool comes with a readme with pointers on how to register new items, outfits, missions or even locations.

If you just want a TEMP back, create a content pack just for it and update your game with the framework. You can then grab the rpkg and extract as you see fit.

Creating a content pack for this purpose is very easy: create the folder Framework\2 Offline Content\contentpacks\Some name for your content pack\raw and place your entity.json in it.

The modder tool also permits to directly convert back to TEMP, but it generates framework-specific meta.json files instead of normal meta files, so it is of limited use if you don’t continue with the framework.

Could you create a tool just for converting TEMP/TBLU/meta to entity.json and back again? Would be helpful for more simple tasks and personal mods.


It is not possible to do a direct conversion as the TBLU needs to get a new resource hash to not crash the game if other TEMPs refer to the same TBLU. I’ll think about it.