▫️Structure
Mod Structure
When creating a REDmod, there is a certain structure that you will want your mod to be in when sharing it with others so that it can be easily used by others. You will want to have a folder that is the name of the mod and in this folder you will have a file named info.json along with some other folder(s) which contain the animations, tweeks, sounds, or archives as you see fit. The structure will look somewhat like below
* root_folder
* | -📁 mods
* | |-📁 <Mod Name>
* | | |-📁 archives
* | | |-📁 scripts
* | | |-📁 tweaks
* | | |-📁 customSounds
* | | |-📄 info.jsonSubfolders
Whether you are doing Animation Modding, Script Modding, TweakDB Modding, Audio Modding, or other mods (archive mods), you will need at least one subfolder for the mod files to go into. This subfolder should be located on the same level as the info.json file, and be nested directly inside the folder with the mod name.
info.json
For a REDmod to be recognized as such by the game engine, the primary requirements incluse this info.json file. This file sits in the root folder of the mod's folder. There are two required entries and a few optional entries that can be in this json file. At minimum a name field and a version field are needed:{"name": "MODNAME","description": "Description for the mod.","version": "1.0.0","customSounds": [ ]}In the above:
The
namefield is the mod's name and will generally be the same as the folder theinfo.jsonfile sits in.The
versionfield is the mod's version. The version should generally use "Semantic Versioning"The
descriptionfield is optional for all mods, but it is generally suggested one should include it so other tools have something to display for a given mod.The
customSoundsfield is semi-optional. It is required for Audio Modding.
INFO - Semantic Versioning is a method of versioning where each number gives meaning for a release based on their position. It uses the format
MAJOR.MINOR.PATCHwhere aMAJORrelease change is one which will break workflows,MINORcould break a workflow but is generally safe and might introduce deprecations, and aPATCHis a small non breaking change that all users on the sameMAJORandMINORcan update to without any issues.
Animation Modding
Animation Modding - WolvenKit Integration
The REDmod animation import tool can be used as a Plugin in WolvenKit.
Add the
.reanimation file you wish to import to your /Raw folder in your mod projectAdd the
.animsanimation set file from the game with the Asset BrowserClick View > Import/Export tool
In the Import/Export tool, navigate to Import: a list of all
.reanimation file in your /Raw folder will appearDouble click the entry to change the import options:
Select the
.animsanimation set file to import from the dropdownSelect the animation name you wish to override from the dropdown
Click process
INFO - It is best to name
.reanimation correctly even if you replace an existing animation, because the imported animation will always have the filename of the.refile.
INFO - You need to have the
.rigfile used by the.animsanimationset present in your WolvenKit project.

Animation Modding - Manually
See also: Import Command
The import command imports an .re animation file into an existing .anims animation set file.Optional parameters include specifying an existing animation name to rename inside the animset file (otherwise the filename of the .re animation file is used) or specifying a different output path (default is overwrite).
INFO - It is best to name
.reanimation correctly even if you replace an existing animation, because the imported animation will always have the filename of the.refile.
INFO - You need to have the
.rigfile used by the.animsanimationset present in your depot path.
Script Modding
To make a script mod in REDmod:
1.make a new mod and create a new folder here:
<Cyberpunk 2077>/mods/MODNAME/scripts2.copy the
.scriptfile(s) you want to change from<Cyberpunk 2077>/tools/redmod/scripts❗preserving the folder structure!3.add an
info.jsonfile to<Cyberpunk 2077>/mods/MODNAME/scriptswith some mod info
{"name": "MODNAME","description": "Description for the script mod.","version": "1.0.0","customSounds": [ ]}✅Done. To test, launch the game with REDmod.
TweakDB Modding
To make a tweak mod in REDmod:
1.make a new mod and create a new folder here:
<Cyberpunk 2077>/mods/MODNAME/tweaks2.copy the
.tweakfile(s) you want to change from<Cyberpunk 2077>/tools/redmod/tweaks❗preserving the folder structure!3.add a
info.jsonfile to<Cyberpunk 2077>/mods/MODNAME/tweakswith some mod info
{"name": "MODNAME","description": "Description for the tweak mod.","version": "1.0.0","customSounds": [ ]}✅Done. To test, launch the game with REDmod.
Audio Modding
Audio Modding - WolvenKit Integration
The REDmod animation import tool can be used as a Plugin in WolvenKit.
Add the
.wavsound files you wish to import to your /customSounds folder in your mod projectClick View > Sound Modding tool
In the Sound Modding tool, choose which to mod from the list of game sound events
Adjust the parameters
Click Save

Audio Modding - Manually
Place raw .wav audio files inside <Cyberpunk 2077>/mods/<name>/customSounds. Include a info.json file with your mod (<Cyberpunk 2077>/mods/<name>/customSounds/info.json) where you sepcify how to use your custom sounds.
Example
{"name": "newmodtest","version": "1.0.0","customSounds": [{"name": "amb_bl_eq_medical_electronics_small","type": "mod_skip"},{"name": "w_gun_revol_power_overture_fire_suppressor","type": "mod_skip"},{"name": "w_gun_npc_dian_reload","type": "mod_sfx_2d","file": "are_you_sure_about_that.wav","gain": 1.0,"pitch": 0.1}]}
Parameters
name - the game audio event to override
type - the sound type. Options are:
mod_skip: do not play this sound event
mod_sfx_2d : will be played without any positions / attenuation
mod_sfx_city : has a longer attenuation that is suitable for city sounds
mod_sfx_low_occlusion : has a long attenuation that isn't occluded much e.g. a VO or quest sound that you don't want to be muffled
mod_sfx_occlusion : medium attenuation with normal occlusion
mod_sfx_radio : needs to be tuned to a broadcast channel (e.g. radio)
mod_sfx_room : has a shorter attenuation suitable for something that can be heard across a room
mod_sfx_street : has a medium attenuation, good for something to be heard down a street
file - the
.wavfile to use (inside/customSounds)gain and pitch
Last updated