If you would rather look at guides instead, check the following links, or use the wiki's search function:
What is the Tweak DB?
Cyberpunk 2077 uses a single static database file, which registers and defines gameplay elements.
You can find it under Cyberpunk 2077
\r6\cache\tweakdb.bin
To create a new gameplay item, mod developers must add to the Tweak DB.
Browsing the TweakDB
See the child page Browsing the tweak database
TweakDB entries
TweakDB is only a huge list of records - entries defining everything that you can interact with in the game, from NPCs over weapons to (perhaps most familiar to most) clothing items .
You can see existing entries by browsing the .tweak under Cyberpunk 2077tools\redmod\tweaks
(use a text editor such as Notepad++ ).
Data type: Record
A record is a collection of key-value pairs. Its nature is defined by the property $type . You can browse existing records in Wolvenkit's Tweak Browser , or use CET's Tweak Editor to look at the values in-game.
Example: Jackie Welles
Copy Character.Jackie:
$type: gamedataCharacter_Record
actionMap: Gang.Map
affiliation: Factions.Valentinos
archetypeData: Character.valentinos_grunt1_ranged1_nue_ma_inline0
archetypeName: humanoid
audioMeleeMaterial: Flesh
baseAttitudeGroup: jackie
bountyDrawTable: Character.Jackie_inline7
canHaveGenericTalk: True
characterType: NPCType.Human
communitySquad: Squad_Basic
contentAssignment: DeviceContentAssignment.Autoscaling
cpoCharacterBuild: ''
crowdMemberSettings: Crowds.DefaultCrowdPackage
defaultCrosshair: Crosshairs.NoWeapon
despawnChildCommunityWhenPlayerInVehicle: True
devNotes: Puppet Base! All other character records should inherit in a way form this record!
disableDefeatedState: False
dropsAmmoOnDeathChance: 1
dropsControlledLoot: True
dropsMoneyOnDeath: False
dropsWeaponOnDeath: False
enableSensesOnStart: True
forceCanHaveGenericTalk: False
forcedTBHZOffset: 0
hasDirectionalStarts: True
hideUIDetection: False
hideUIElements: False
holocallInitializerPath: ''
ignoreDetectionForAudioCue: False
isBumpable: False
isChild: False
isCrowd: False
isLightCrowd: False
lootBagEntity: valentinosDropBag
lootDrop: LootTables.Empty
lootInjectionParams: LootInjection.DefaultLootInjectionSettings
minigameInstance: minigame_v2.DefaultMinigame
primaryEquipment: Character.Jackie_inline2
rarity: NPCRarity.Elite
reactionPreset: ReactionPresets.NoReaction
scannerModulePreset: ScanningNPCPresets.ScannerPreset_QuestNPCNoLevel
secondaryEquipment: Character.Jackie_inline5
sensePreset: Senses.Relaxed
skipDisplayArchetype: True
squadParamsID: FactionSquads.ValentinosSquad
staticCommunityAppearancesDistributionEnabled: False
threatTrackingPreset: TargetTracking.DefaultPreset
uiNameplate: UINameplate.CombatSettings
useForcedTBHZOffset: True
voiceTag: jackie
entityTemplatePath: base\quest\secondary_characters\jackie.ent
priority: SpawnableObjectPriority.Quest
savable: True
abilities:
- Ability.CanCrouch
- Ability.CanSprint
- Ability.CanSwitchWeapon
- Ability.CanShootWhileMoving
- Ability.CanPreciseShoot
- Ability.CanChargedShoot
- Ability.CanSmartShoot
- Ability.CanUseLeftHand
- Ability.CanUseRightHand
- Ability.CanUseLegs
- Ability.CanTaunt
- Ability.CanCloseCombat
- Ability.CanUseIncendiaryGrenades
- Ability.IsBalanced
- Ability.DealsThermalDamage
- Ability.HasChargeJump
attachmentSlots:
- AttachmentSlots.WeaponRight
- AttachmentSlots.WeaponLeft
- AttachmentSlots.GrenadeRight
- AttachmentSlots.GrenadeLeft
- AttachmentSlots.Head
- AttachmentSlots.Eyes
- AttachmentSlots.Chest
- AttachmentSlots.RightArm
- AttachmentSlots.LeftArm
- AttachmentSlots.RightHand
- AttachmentSlots.LeftHand
- AttachmentSlots.Legs
- AttachmentSlots.PersonalLink
- AttachmentSlots.Consumable
- AttachmentSlots.Feet
- AttachmentSlots.TppHead
- AttachmentSlots.Torso
- AttachmentSlots.Outfit
- AttachmentSlots.UnderwearTop
- AttachmentSlots.UnderwearBottom
- AttachmentSlots.ItemSlotSniperRifle
- AttachmentSlots.ItemSlotSMG
- AttachmentSlots.ItemSlotTechRifle
- AttachmentSlots.ItemSlotHandgunLeftJackie
- AttachmentSlots.ItemSlotHandgunRightJackie
- AttachmentSlots.ItemSlotKatana
- AttachmentSlots.ItemSlotGenericMelee
- AttachmentSlots.ItemSlotHammer
- AttachmentSlots.ItemSlotKnifeRight
- AttachmentSlots.ItemSlotKnifeLeft
- AttachmentSlots.ItemSlotGenericRanged
- AttachmentSlots.ItemSlotHandgunRight
- AttachmentSlots.ItemSlotHandgunLeft
bossHealthBarThresholds: []
crowdAppearanceNames: []
displayName: LocKey#34477
EquipmentAreas: []
fullDisplayName: LocKey#34478
genders: []
itemGroups:
- Character.Enemy_Items_Base
items: []
onSpawnGLPs: []
multiplayerTemplatePaths: []
tags:
- Immortal
visualTags:
- Valentinos
- Grunt
- Lvl1
effectors:
- Effectors.HitReactionTBHIncrease
objectActions:
- GenericInteraction.PickUpBody
- GenericInteraction.Talk
- GenericInteraction.ReturnTalk
- Takedown.Grapple
- Takedown.LethalTakedown
- Takedown.NonLethalTakedown
- Takedown.AerialTakedown
- Takedown.BlackwallTakedown
- Takedown.NewPerkFinisher
- Takedown.NewPerkFinisherBlunt
- Takedown.NewPerkFinisherBluntHold
- QuickHack.RemoteBreach
- QuickHack.SuicideHackBase
- QuickHack.GrenadeHackBase
- QuickHack.SystemCollapseHackBase
- QuickHack.MadnessHackBase
- QuickHack.BaseBlackWallHack
- QuickHack.BaseOverheatHack
- QuickHack.BaseContagionHack
- QuickHack.OverloadBaseHack
- QuickHack.BrainMeltBaseHack
- QuickHack.BaseBlindHack
- QuickHack.BaseWeaponMalfunctionHack
- QuickHack.BaseLocomotionMalfunctionHack
- QuickHack.BaseCyberwareMalfunctionHack
- QuickHack.BaseCommsCallInHack
- QuickHack.BaseCommsNoiseHack
- QuickHack.BasePingHack
- QuickHack.BaseMemoryWipeHack
- QuickHack.BaseWhistleHack
- MinigameAction.NetworkSuicideHack
- MinigameAction.NetworkJamWeaponHack
- MinigameAction.NetworkPingHack
- MinigameAction.NetworkAutoJamHack
- MinigameAction.NetworkAutoBlindHack
- MinigameAction.NetworkAutoLocomotionHack
- MinigameAction.NetworkWeakNPCs
- MinigameAction.NetworkVulnerableNPCs
- MinigameAction.NetworkMadnessHack
- MinigameAction.NetworkWeaponMalfunctionHack
- MinigameAction.NetworkCyberwareMalfunctionHack
- MinigameAction.NetworkLowerICEMinorFirst
- MinigameAction.NetworkLowerICEMinorSecond
- MinigameAction.NetworkLowerICEMinorThird
- MinigameAction.NetworkLowerICEMedium
- MinigameAction.NetworkLowerICETutorial
- MinigameAction.NetworkLowerICEMajor
statModifierGroups:
- Character.NPC_Base_Primary_Stat_ModGroup
statModifiers:
- QuickHack.TargetResistance_DifficultyMult
- QuickHack.TargetResistanceUltimate_DifficultyMult
- Character.valentinos_base_inline0
- Character.Jackie_inline0
- Character.Jackie_inline1
statPools:
- BaseStatPools.Puppet_Health_Base
- BaseStatPools.Puppet_Stamina_Base
- BaseStatPools.Fear
- BaseStatPools.Poise
- BaseStatPools.CPO_NPC_Importance
weakspots: []
alertedSensesPreset: Alerted
combatSensesPreset: Combat
relaxedSensesPreset: Relaxed
weaponSlot: AttachmentSlots.WeaponRight
Data type: Flat
A flat is a key-value pair used by records .
Copy characterType: NPCType.Human
characterType
is the name of the property, wheras NPCType.Human
is the assigned value .
In this case, the syntax indicates an enum.
The Tweak DB can be interacted with using Cyberpunk's official REDmod , or numerous community solutions such as TweakXL , CET , and redscript .
Player Garments/Equipment Graph
The following is a diagram which maps the relationship between game files for use with TweakXL and Archive XL: