TweakDB: Game database

Summary

Last documented update: Mar 26 by manavortex

This page will tell you what the game's weak database is, and how you can use it to change or create game items.

Wait, that's not what I want!

What is the Tweak DB?

Cyberpunk 2077 uses a single static database file, which registers and defines gameplay elements.

You can find it under \r6\cache\tweakdb.bin

This file is not meant to be human-readable.

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

Example: Jackie Welles
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.

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.

For an explanation of the TweakDB, see

Player Garments/Equipment Graph

The following is a diagram which maps the relationship between game files for use with TweakXL and Archive XL:

Enough theory, how do I modify the Tweak DB?

Check the tutorials linked under Wait, that's not what I want!

Last updated