Wardogs: Misc Gameplay Assets (modifier states, controller presets, doors)
Source: the export files under data/Wardogs/Content/MoverTesting/CharacterModifierStates, data/Wardogs/Content/GameMechanics/Settings/Controls and data/Wardogs/Content/GameMechanics/WorldInteractable/Objects. Every table below is generated by _tools/misc_gameplay_tables.py; do not edit it by hand.
This page closes the gap left by Character Movement Settings, Settings and Inputs and Player Movement: it lists, with values, the assets in those three folders whose name appears on no other published page (the generator re-checks that on every run, so an asset documented elsewhere later drops off here). The user-setting rows themselves (dead-zone values, sensitivity, look acceleration) are on Settings and Inputs; tags are on Gameplay Tags.
How to read a row
- Values are as exported. Each row flattens the asset’s properties to
path=value; tags show as the tag name, references as the referenced asset name, curve key lists astime->valuepoints. Null and empty values are dropped, and a long cell ends with(+N more values). - Where the export omits a value (for example a state
Priority), the table says “omitted” and does not resolve the native class default. - What an asset type is for is inference from the class and property names. The export stores no documentation. In particular the two obfuscated
_aaab...properties of the controller presets are read as “binding rows” and “mapping context paths” from their contents only. - Left out on purpose: audio, VFX and UI-widget assets. None of these three folders hold any, so nothing was skipped here.
1. Counts
| Folder | Section | Assets | |—|—|—| | MoverTesting/CharacterModifierStates | 2. Character modifier states | 18 | | Settings/Controls | 3. Dead-zone presets | 3 | | Settings/Controls | 4. Axis config | 1 | | Settings/Controls | 5. Controller binding presets | 13 | | WorldInteractable/Objects | 6. Doors | 13 | | Total | | 48 |
2. Character modifier states
Folder MoverTesting/CharacterModifierStates. Each file is a WDCharacterModifierStateDefinition (a state tag, a priority, a list of modifier objects and a list of condition objects) plus the modifier and condition objects it references, stored as extra exports in the same file. Inference: a state is active while its conditions pass, and the modifiers apply camera, animation or movement adjustments; the highest priority presumably wins on conflict. WDCharacterModifierCondition_StateTags conditions show the tag query’s dictionary and description text; QueryTokenStream (the compiled query) is shown as a number list. The curves named here (CRV_*) are on Character Movement Settings or its curve data.
| Asset | State tag | Priority | Modifiers (exports in the file) | Conditions | |—|—|—|—|—| | DA_CharacterModifierState_AnimationFrustum | State.CharacterModifier.AnimationFrustum | 126 | WDCharacterModifier_AnimationFrustum SkeletonCharacterSpaceTransform.Rotation.X=0; SkeletonCharacterSpaceTransform.Rotation.Y=0; SkeletonCharacterSpaceTransform.Rotation.Z=0.71; SkeletonCharacterSpaceTransform.Rotation.W=0.71; SkeletonCharacterSpaceTransform.Rotation.IsNormalized=true; SkeletonCharacterSpaceTransform.Rotation.Size=1; SkeletonCharacterSpaceTransform.Rotation.SizeSquared=1 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.QueryTokenStream=[0, 1, 3, 1, 0]; StateQuery.UserDescription=Suppress animation-driven camera motion while critical - the detached critical/downed camera must stay still.; StateQuery.AutoDescription= NONE( State.Player.Vitality.Critical ) | | DA_CharacterModifierState_BipodMounting | State.CharacterModifier.BipodMounting | 124 | WDCharacterModifier_BipodMounting (no values exported)WDCharacterModifier_BipodMountingCameraLock PitchLockSettings.LockAngle=10; PitchLockSettings.bInterpolateTarget=false; YawLockSettings.LockAngle=10; YawLockSettings.bInterpolateTarget=false | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=Action.Weapon.Bipod.Mount; StateQuery.TagDictionary[1]=State.Player.Vitality.Critical; StateQuery.TagDictionary[2]=State.Player.Vitality.Dead; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[6]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 5, 2, 2, 1, 0, 3, 6, 1, 2, 3, 4, 5, 6]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values) | | DA_CharacterModifierState_BodyDragging | State.CharacterModifier.BodyDragging | omitted | WDCharacterModifier_CameraLock PitchLockSettings.LockActivationType=CapsuleRotation; PitchLockSettings.LockActivationMode=Interpolated; PitchLockSettings.LockAngle=45; PitchLockSettings.bSmoothLock=true; PitchLockSettings.LockSmoothPercent=0.8; PitchLockSettings.LockSmoothMaxTurnSpeed=5; PitchLockSettings.LockSmoothCurve=CRV_Camera_LockSmoothCurve_BodyDragging; PitchLockSettings.bInterpolateTarget=false; PitchLockSettings.LockActivationInterpolationSpeed=2; YawLockSettings.LockActivationType=NetworkSmoothingComponentRotation; YawLockSettings.LockMode=TargetNetworkSmoothingComponentRotation; YawLockSettings.LockAngle=45; YawLockSettings.bSmoothLock=true; YawLockSettings.LockSmoothPercent=0.8 (+4 more values) | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values)WDCharacterModifierCondition_MovementMode MovementModeTag=Mover.Mode.BodyDragging | | DA_CharacterModifierState_CameraPitch | State.CharacterModifier.CameraPitch | 10 | WDCharacterModifier_CameraPitch NetMask=3 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle. (+1 more values) | | DA_CharacterModifierState_Climbing | State.CharacterModifier.Climb | omitted | WDCharacterModifier_TraversingCameraLock PitchLockSettings.LockAngle=40; PitchLockSettings.bSmoothLock=true; PitchLockSettings.LockSmoothCurve=CRV_Camera_LockSmoothCurve_Climbing; YawLockSettings.LockAngle=60; YawLockSettings.bSmoothLock=true; YawLockSettings.LockSmoothCurve=CRV_Camera_LockSmoothCurve_MantlingWDCharacterModifier_TraversingFirstPersonLock (no values exported) | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle. (+1 more values)WDCharacterModifierCondition_MovementMode MovementModeTag=Mover.Mode.Traversing.Climbing | | DA_CharacterModifierState_CrashLanding | State.CharacterModifier.CrashLanding | omitted | WDCharacterModifier_CrashLanding OffsetCurve=CRV_CrashLandingOffset; OffsetScalarCurve=CRV_CrashLandingScalar; TimeToPlayCurve=CRV_CrashLandingTime; NetMask=3 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values) | | DA_CharacterModifierState_Critical | State.CharacterModifier.Critical | 0 | B_CharacterModifier_IgnoreLookInput_C (no values exported)
other: CameraModifiers[0]=DA_CharacterModifierState_Critical:WDCameraModifier_Critical_0 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 5, 2, 1, 1, 0, 3, 4, 1, 2, 3, 4]; StateQuery.UserDescription=We are in a critical state and not in a vehicle. (+1 more values) | | DA_CharacterModifierState_Emote_FullBody | State.CharacterModifier.Emote.FullBody | 0 | B_CharacterModifier_IgnoreLookInput_C (no values exported)
other: CameraModifiers[0]=DA_CharacterModifierState_Emote_FullBody:WDCameraModifier_Critical_0 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Action.Emote.FullBody; StateQuery.QueryTokenStream=[0, 1, 5, 2, 3, 2, 0, 1, 1, 1, 2]; StateQuery.UserDescription=We are alive and doing a full body emote; StateQuery.AutoDescription= ALL( NONE( State.Player.Vitality.Critical, State.Player.Vitality.Dead ), ANY( State.Player.Action.Emote.FullBody ) ) | | DA_CharacterModifierState_HeavyBreathing | State.CharacterModifier.Camera.HeavyBreathing | 10 | -
other: CameraModifiers[0]=DA_CharacterModifierState_HeavyBreathing:B_CameraModifier_HeavyBreathing_C_0 | WDCharacterModifierCondition_Tags Requirements.RequireTags[0]=Meta.Punishment.HeavyBreathing | | DA_CharacterModifierState_Ladder | State.CharacterModifier.Ladder | omitted | WDCharacterModifier_Ladder (no values exported)WDCharacterModifier_LadderCameraLock PitchLockSettings.LockAngle=45; PitchLockSettings.LockCentreOffset=30; PitchLockSettings.bSmoothLock=true; PitchLockSettings.LockSmoothPercent=0.7; YawLockSettings.LockAngle=40; YawLockSettings.bSmoothLock=true; YawLockSettings.LockSmoothPercent=0.7 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values)WDCharacterModifierCondition_MovementMode MovementModeTag=Mover.Mode.LadderClimbing | | DA_CharacterModifierState_Lean | State.CharacterModifier.Lean | 30 | WDCharacterModifier_Lean InterpolationSpeed=15; NetMask=3 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values) | | DA_CharacterModifierState_Mantling | State.CharacterModifier.Mantle | omitted | WDCharacterModifier_TraversingCameraLock PitchLockSettings.LockAngle=80; PitchLockSettings.bSmoothLock=true; PitchLockSettings.LockSmoothPercent=0.7; PitchLockSettings.LockSmoothCurve=CRV_Camera_LockSmoothCurve_Mantling; YawLockSettings.LockActivationType=ControlRotation; YawLockSettings.LockAngle=120; YawLockSettings.bSmoothLock=true; YawLockSettings.LockSmoothMaxTurnSpeed=5; YawLockSettings.LockSmoothCurve=CRV_Camera_LockSmoothCurve_Mantling; YawLockSettings.LockTargetInterpolationSpeed=1 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values)WDCharacterModifierCondition_MovementMode MovementModeTag=Mover.Mode.Traversing.Mantling | | DA_CharacterModifierState_Parachute | State.CharacterModifier.Parachute | 128 | WDCharacterModifier_ParachuteCameraLock PitchLockSettings.LockActivationType=CapsuleRotation; PitchLockSettings.LockActivationMode=Interpolated; PitchLockSettings.LockAngle=60; PitchLockSettings.bSmoothLock=true; PitchLockSettings.LockSmoothPercent=0.7; YawLockSettings.LockActivationType=CapsuleRotation; YawLockSettings.LockMode=TargetCapsuleRotation; YawLockSettings.LockActivationMode=Interpolated; YawLockSettings.LockAngle=60; YawLockSettings.bSmoothLock=true; YawLockSettings.LockSmoothPercent=0.7 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values)WDCharacterModifierCondition_MovementMode MovementModeTag=Mover.Mode.Parachuting | | DA_CharacterModifierState_Prone | State.CharacterModifier.Prone | 9 | WDCharacterModifier_ProneCameraLock TargetExitMultiplier=5; PitchLockSettings.LockActivationType=WorldZero; PitchLockSettings.LockActivationMode=Interpolated; PitchLockSettings.LockCentreOffset=5; PitchLockSettings.LockActivationInterpolationSpeed=3; YawLockSettings.LockActivationType=ControlRotation; YawLockSettings.LockMode=TargetLookRotation; YawLockSettings.LockAngle=90; YawLockSettings.bSmoothLock=true; YawLockSettings.LockSmoothPercent=0.4; YawLockSettings.LockSmoothMaxTurnSpeed=5; YawLockSettings.LockSmoothCurve=CRV_Camera_LockSmoothCurve_ProneYaw; YawLockSettings.LockTargetInterpolationSpeed=1.5WDCharacterModifier_ProneWallLock (no values exported) | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.TagDictionary[6]=State.Player.Vehicle; StateQuery.QueryTokenStream=[0, 1, 5, 1, 3, 7, 0, 1, 2, 3, 4, 5, 6]; StateQuery.UserDescription=We are alive and not in a vehicle and have the prone action active. (+1 more values)WDCharacterModifierCondition_ProneOrTransition (no values exported) | | DA_CharacterModifierState_Stance | State.CharacterModifier.Stance | 0 | WDCharacterModifier_Stance StanceTransitionOffsetCurves[0].Key.FromStance=Stand; StanceTransitionOffsetCurves[0].Key.ToStance=Crouch; StanceTransitionOffsetCurves[0].Value=CRV_StanceTransition_CameraOffset_StandToCrouch; StanceTransitionOffsetCurves[1].Key.FromStance=Stand; StanceTransitionOffsetCurves[1].Key.ToStance=Prone; StanceTransitionOffsetCurves[1].Value=CRV_StanceTransition_CameraOffset_StandToProne; StanceTransitionOffsetCurves[2].Key.FromStance=Crouch; StanceTransitionOffsetCurves[2].Key.ToStance=Stand; StanceTransitionOffsetCurves[2].Value=CRV_StanceTransition_CameraOffset_CrouchToStand; StanceTransitionOffsetCurves[3].Key.FromStance=Crouch (+9 more values) | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values) | | DA_CharacterModifierState_Vaulting | State.CharacterModifier.Vault | omitted | WDCharacterModifier_TraversingCameraLock PitchLockSettings.LockAngle=80; PitchLockSettings.bSmoothLock=true; PitchLockSettings.LockSmoothPercent=0.7; PitchLockSettings.LockSmoothCurve=CRV_Camera_LockSmoothCurve_Mantling; YawLockSettings.LockActivationType=ControlRotation; YawLockSettings.LockAngle=120; YawLockSettings.bSmoothLock=true; YawLockSettings.LockSmoothMaxTurnSpeed=5; YawLockSettings.LockSmoothCurve=CRV_Camera_LockSmoothCurve_Mantling; YawLockSettings.LockTargetInterpolationSpeed=1 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 3, 6, 0, 1, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and not in a vehicle (+1 more values)WDCharacterModifierCondition_MovementMode MovementModeTag=Mover.Mode.Traversing.Vaulting | | DA_CharacterModifierState_Vehicle | State.CharacterModifier.Vehicle | 100 | WDCharacterModifier_VehicleSeat NetMask=3
other: CameraModifiers[0]=DA_CharacterModifierState_Vehicle:WDCameraModifier_VehicleFreeLook_0 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vitality.Dead; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[5]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 5, 2, 3, 2, 0, 1, 1, 4, 2, 3, 4, 5]; StateQuery.UserDescription=We are alive and in a vehicle (+1 more values) | | DA_CharacterModifierState_VehicleCritical | State.CharacterModifier.Vehicle.Critical | 0 | -
other: CameraModifiers[0]=DA_CharacterModifierState_VehicleCritical:WDCameraModifier_PanToKillerVehicle_0; CameraModifiers[1]=DA_CharacterModifierState_VehicleCritical:WDCameraModifier_Critical_0 | WDCharacterModifierCondition_StateTags StateQuery.TagDictionary[0]=State.Player.Vitality.Critical; StateQuery.TagDictionary[1]=State.Player.Vehicle.Role.ActivePassenger; StateQuery.TagDictionary[2]=State.Player.Vehicle.Role.Driver; StateQuery.TagDictionary[3]=State.Player.Vehicle.Role.Gunner; StateQuery.TagDictionary[4]=State.Player.Vehicle.Role.PassivePassenger; StateQuery.QueryTokenStream=[0, 1, 5, 2, 1, 1, 0, 1, 4, 1, 2, 3, 4]; StateQuery.UserDescription=We are in a critical/dead state and in a vehicle (+1 more values) |
3. Gamepad dead-zone presets
Folder Settings/Controls. Each preset asset pairs an enum list (the preset names shown in the options menu) with SettingPresets slots, one per enum entry in order; a slot assigns values to the user-setting tags. Slot index to name follows the order of the named values (inference); the last named value, Custom, has no slot, so it leaves the three values to the player. Values are percentages (inference from the 0 to 100 trigger range).
| Asset | Named values | Preset slots (setting tag = value) | |—|—|—| | DA_Setting_Controls_Gamepad_DeadZonePreset_LookStick | None, Small, Medium, Large, Custom | slot 0: LookStick.Centre=0; LookStick.Axial=0; LookStick.MaxInput=0
slot 1: LookStick.Centre=5; LookStick.Axial=5; LookStick.MaxInput=10
slot 2: LookStick.Centre=12; LookStick.Axial=12; LookStick.MaxInput=10
slot 3: LookStick.Centre=20; LookStick.Axial=20; LookStick.MaxInput=10 | | DA_Setting_Controls_Gamepad_DeadZonePreset_MoveStick | None, Small, Medium, Large, Custom | slot 0: MoveStick.Centre=0; MoveStick.Axial=0; MoveStick.MaxInput=0
slot 1: MoveStick.Centre=5; MoveStick.Axial=5; MoveStick.MaxInput=10
slot 2: MoveStick.Centre=12; MoveStick.Axial=12; MoveStick.MaxInput=10
slot 3: MoveStick.Centre=20; MoveStick.Axial=20; MoveStick.MaxInput=10 | | DA_Setting_Controls_Gamepad_DeadZonePreset_Triggers | None, Custom | slot 0: LeftTrigger.Max=100; LeftTrigger.Min=0; RightTrigger.Max=100; RightTrigger.Min=0 |
4. Axis config
DA_Player_InputAxisConfig (BHAxisConfigDataAsset) says which user setting feeds each look-axis modifier, first as a default and then per state: a state block applies when every tag group matches (a group matches when any tag in it is present; the AND/OR reading is inference from the nested list). Axis is X, Y or XY; Gamepad marks the gamepad variants. Setting property names are those of the user-setting rows on Settings and Inputs.
| Asset | Scope | Required tag groups | Axis | Gamepad | Modifier type | Setting property | |—|—|—|—|—|—|—| | DA_Player_InputAxisConfig | default | - | XY | false | Exponent | MouseAcceleration | | DA_Player_InputAxisConfig | default | - | XY | false | Sensitivity | MouseSensitivity | | DA_Player_InputAxisConfig | default | - | Y | false | Invert | bInvertYAxisInfantry | | DA_Player_InputAxisConfig | default | - | X | false | Exponent | None | | DA_Player_InputAxisConfig | default | - | Y | true | Invert | bGamepadInvertYAxisInfantry | | DA_Player_InputAxisConfig | default | - | X | true | Sensitivity | GamepadHorizontalAxisSensitivity | | DA_Player_InputAxisConfig | default | - | Y | true | Sensitivity | GamepadVerticalAxisSensitivity | | DA_Player_InputAxisConfig | default | - | X | true | Sensitivity | RotaryXAxisSensitivity | | DA_Player_InputAxisConfig | default | - | Y | true | Sensitivity | RotaryYAxisSensitivity | | DA_Player_InputAxisConfig | state 0 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) AND (State.Player.Movement.Aiming) | Y | false | Invert | bInvertYAxisLandVehicles | | DA_Player_InputAxisConfig | state 0 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) AND (State.Player.Movement.Aiming) | Y | true | Invert | bGamepadInvertYAxisLandVehicles | | DA_Player_InputAxisConfig | state 0 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) AND (State.Player.Movement.Aiming) | XY | false | Sensitivity | MouseADSSensitivityMultiplier | | DA_Player_InputAxisConfig | state 0 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) AND (State.Player.Movement.Aiming) | XY | true | Sensitivity | GamepadADSSensitivityMultiplier | | DA_Player_InputAxisConfig | state 0 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) AND (State.Player.Movement.Aiming) | XY | false | Sensitivity | LandVehicleSensitivityMultiplier | | DA_Player_InputAxisConfig | state 0 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) AND (State.Player.Movement.Aiming) | XY | true | Sensitivity | GamepadLandVehicleSensitivityMultiplier | | DA_Player_InputAxisConfig | state 1 | (State.Player.Movement.Aiming) | XY | false | Sensitivity | MouseADSSensitivityMultiplier | | DA_Player_InputAxisConfig | state 1 | (State.Player.Movement.Aiming) | XY | true | Sensitivity | GamepadADSSensitivityMultiplier | | DA_Player_InputAxisConfig | state 2 | (State.Player.Vehicle.Rotary OR State.Player.Vehicle.Airplane) AND (State.Player.Vehicle.Role.Driver) | XY | false | Sensitivity | AirVehicleSensitivityMultiplier | | DA_Player_InputAxisConfig | state 2 | (State.Player.Vehicle.Rotary OR State.Player.Vehicle.Airplane) AND (State.Player.Vehicle.Role.Driver) | XY | true | Sensitivity | GamepadAirVehicleSensitivityMultiplier | | DA_Player_InputAxisConfig | state 2 | (State.Player.Vehicle.Rotary OR State.Player.Vehicle.Airplane) AND (State.Player.Vehicle.Role.Driver) | Y | true | Invert | bGamepadInvertYAxisHelicopters | | DA_Player_InputAxisConfig | state 3 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Driver) | XY | false | Sensitivity | LandVehicleSensitivityMultiplier | | DA_Player_InputAxisConfig | state 3 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Driver) | XY | true | Sensitivity | GamepadLandVehicleSensitivityMultiplier | | DA_Player_InputAxisConfig | state 4 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) | XY | false | Sensitivity | LandVehicleSensitivityMultiplier | | DA_Player_InputAxisConfig | state 4 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) | XY | true | Sensitivity | GamepadLandVehicleSensitivityMultiplier | | DA_Player_InputAxisConfig | state 4 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) | Y | false | Invert | bInvertYAxisLandVehicles | | DA_Player_InputAxisConfig | state 4 | (State.Player.Vehicle.4W OR State.Player.Vehicle.Tracked) AND (State.Player.Vehicle.Role.Gunner) | Y | true | Invert | bGamepadInvertYAxisLandVehicles |
5. Controller binding presets
Folder Settings/Controls/ControllerConfigs: BHEnhancedInputPlayerBindsPresetData assets, one per selectable controller layout (Infantry, GroundVehicle, HeavyVehicle, Helicopter, plus four Axis presets). The first table lists the mapping contexts each preset lists and how many binding rows it has. The four Axis_* presets (Default, Legacy, LegacySouthpaw, Southpaw) and Helicopter_Default export no binding rows; their layout, if any, lives in code or in another asset, which this page does not claim to know. The second table is every binding row: gameplay action tag, input action asset, gamepad key (None is an unbound row as exported), and the trigger and modifier objects with their exported values (Hold thresholds in seconds). Input actions and their keyboard defaults are on Settings and Inputs.
| Preset | Mapping contexts (obfuscated property; inference) | Binding rows | |—|—|—| | DA_ControllerConfig_Axis_Default | none (export has no properties) | 0 | | DA_ControllerConfig_Axis_Legacy | none (export has no properties) | 0 | | DA_ControllerConfig_Axis_LegacySouthpaw | none (export has no properties) | 0 | | DA_ControllerConfig_Axis_Southpaw | none (export has no properties) | 0 | | DA_ControllerConfig_Button_GroundVehicle_Alternate | IMC_LandVehicles_Driver | 7 | | DA_ControllerConfig_Button_GroundVehicle_Default | IMC_LandVehicles_Driver | 2 | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | IMC_TrackedVehicles_Driver | 8 | | DA_ControllerConfig_Button_Helicopter_Alternate | IMC_RotaryVehicles_DriverGunner, IMC_RotaryVehicles_Driver | 13 | | DA_ControllerConfig_Button_Helicopter_Classic | IMC_RotaryVehicles_DriverGunner, IMC_RotaryVehicles_Driver | 8 | | DA_ControllerConfig_Button_Helicopter_Default | IMC_RotaryVehicles_DriverGunner, IMC_RotaryVehicles_Driver | 0 | | DA_ControllerConfig_Button_Helicopter_Veteran | IMC_RotaryVehicles_DriverGunner, IMC_RotaryVehicles_Driver | 7 | | DA_ControllerConfig_Button_Infantry_BumperLeaner | IMC_MoverPlayer | 15 | | DA_ControllerConfig_Button_Infantry_Default | IMC_MoverPlayer | 1 |
Binding rows:
| Preset | Action tag | Action asset | Key | Triggers | Modifiers | |—|—|—|—|—|—| | DA_ControllerConfig_Button_GroundVehicle_Alternate | Input.NamedActions.Vehicle.Horn | IA_Vehicle_UseHorn | Gamepad_RightTrigger | InputTriggerPressed
InputTriggerReleased | - | | DA_ControllerConfig_Button_GroundVehicle_Alternate | Input.NamedActions.Ping | IA_Ping | Gamepad_RightShoulder | - | - | | DA_ControllerConfig_Button_GroundVehicle_Alternate | Input.NamedActions.Vehicle.Throttle | IA_Vehicle_Throttle | Gamepad_LeftStick_Up | - | - | | DA_ControllerConfig_Button_GroundVehicle_Alternate | Input.NamedActions.Vehicle.Brake | IA_Vehicle_Brake | Gamepad_LeftStick_Down | - | - | | DA_ControllerConfig_Button_GroundVehicle_Alternate | Input.NamedActions.Vehicle.Camera.ZoomOut | IA_Vehicle_Camera_ZoomOut | Gamepad_LeftTrigger | InputTriggerReleased | - | | DA_ControllerConfig_Button_GroundVehicle_Alternate | UI.Action.Feature.PingWheel.ToggleScene | IA_UI_PingWheel | Gamepad_RightShoulder | - | - | | DA_ControllerConfig_Button_GroundVehicle_Alternate | UI.Action.Feature.RadialWheel.VoiceChat | IA_UI_RadialWheel_VoiceChat | Gamepad_DPad_Down | InputTriggerHold (HoldTimeThreshold=0.5; bIsOneShot=true) | - | | DA_ControllerConfig_Button_GroundVehicle_Default | Input.NamedActions.Ping | IA_Ping | Gamepad_RightThumbstick | - | - | | DA_ControllerConfig_Button_GroundVehicle_Default | UI.Action.Feature.PingWheel.ToggleScene | IA_UI_PingWheel | Gamepad_RightThumbstick | - | - | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | Input.NamedActions.Vehicle.Horn | IA_Vehicle_UseHorn | Gamepad_RightTrigger | InputTriggerPressed
InputTriggerReleased | - | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | Input.NamedActions.Ping | IA_Ping | Gamepad_RightShoulder | - | - | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | Input.NamedActions.Vehicle.Throttle | IA_Vehicle_Throttle | Gamepad_LeftStick_Up | - | - | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | Input.NamedActions.Vehicle.Camera.ToggleFreeLook | IA_Vehicle_Camera_ToggleFreeLook | Gamepad_LeftThumbstick | - | - | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | Input.NamedActions.Vehicle.Brake | IA_Vehicle_Brake | Gamepad_LeftStick_Down | - | - | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | Input.NamedActions.Vehicle.Camera.ZoomOut | IA_Vehicle_Camera_ZoomOut | Gamepad_LeftTrigger | InputTriggerReleased | - | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | Input.NamedActions.Player.VOIP.ToggleTalk | IA_VoiceChat_ToggleTalk | Gamepad_LeftShoulder | - | - | | DA_ControllerConfig_Button_HeavyVehicle_Alternate | None | - | None | - | - | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.Camera.HoldFreeLook | IA_Vehicle_Camera_HoldFreeLook | Gamepad_LeftTrigger | InputTriggerHold | - | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.Cyclic | IA_Vehicle_Cyclic | Gamepad_Right2D | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | WDDeadZoneInputModifier (MinThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.Centre; MaxThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.MaxInput; RadiusAxialThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.Axial; bInvertMaxThreshold=true)
InputModifierSwizzleAxis
WDApplyAxisConfig (bIsGamepad=true)
MInputBlocker | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.MountedWeapon.Fire | IA_Vehicle_Weapon_Use | Gamepad_RightTrigger | - | - | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.Collective.Raise | IA_Vehicle_Collective | Gamepad_LeftStick_Up | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | - | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.Collective.Lower | IA_Vehicle_Collective | Gamepad_LeftStick_Down | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | InputModifierNegate | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.FireCountermeasures | IA_Vehicle_FireCountermeasures | Gamepad_DPad_Up | - | - | | DA_ControllerConfig_Button_Helicopter_Alternate | UI.Action.Feature.Map.Ping | IA_Ping | Gamepad_DPad_Right | - | - | | DA_ControllerConfig_Button_Helicopter_Alternate | UI.Action.Feature.PingWheel.ToggleScene | IA_UI_PingWheel | Gamepad_DPad_Right | - | - | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.Cyclic | IA_Vehicle_Cyclic | Gamepad_Right2D | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | WDDeadZoneInputModifier (MinThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.Centre; MaxThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.MaxInput; RadiusAxialThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.Axial; bInvertMaxThreshold=true)
InputModifierSwizzleAxis
WDApplyAxisConfig (bIsGamepad=true)
MInputBlocker | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.Pedals.Left | IA_Vehicle_Pedals | Gamepad_LeftShoulder | - | InputModifierNegate | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.Pedals.Right | IA_Vehicle_Pedals | Gamepad_RightShoulder | - | - | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.WeaponExtension.Reload | IA_Weapon_Reload | Gamepad_FaceButton_Left | InputTriggerTap | - | | DA_ControllerConfig_Button_Helicopter_Alternate | Input.NamedActions.Vehicle.Camera.HoldFreeLook | IA_Vehicle_Camera_HoldFreeLook | Gamepad_LeftTrigger | - | - | | DA_ControllerConfig_Button_Helicopter_Classic | Input.NamedActions.Vehicle.Camera.HoldFreeLook | IA_Vehicle_Camera_HoldFreeLook | Gamepad_LeftShoulder | - | - | | DA_ControllerConfig_Button_Helicopter_Classic | Input.NamedActions.Vehicle.Pedals | IA_Vehicle_Pedals | Gamepad_LeftX | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | WDDeadZoneInputModifier (MinThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.LookStick.Centre; MaxThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.LookStick.MaxInput; RadiusAxialThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.LookStick.Axial; bInvertMaxThreshold=true)
WDApplyAxisConfig (bIsGamepad=true) | | DA_ControllerConfig_Button_Helicopter_Classic | Input.NamedActions.Vehicle.Cyclic | IA_Vehicle_Cyclic | Gamepad_Right2D | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | WDDeadZoneInputModifier (MinThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.Centre; MaxThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.MaxInput; RadiusAxialThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.Axial; bInvertMaxThreshold=true)
InputModifierSwizzleAxis
WDApplyAxisConfig (bIsGamepad=true)
MInputBlocker | | DA_ControllerConfig_Button_Helicopter_Classic | Input.NamedActions.Vehicle.MountedWeapon.Fire | IA_Vehicle_Weapon_Use | Gamepad_RightShoulder | - | - | | DA_ControllerConfig_Button_Helicopter_Classic | Input.NamedActions.Vehicle.Camera.FreeLook | IA_Vehicle_Camera_FreeLook | Gamepad_Right2D | - | (null)
(null)
(null)
(null)
(null)
(null) | | DA_ControllerConfig_Button_Helicopter_Classic | Input.NamedActions.Ping | IA_Ping | Gamepad_DPad_Up | - | - | | DA_ControllerConfig_Button_Helicopter_Classic | UI.Action.Feature.PingWheel.ToggleScene | IA_UI_PingWheel | Gamepad_DPad_Up | - | - | | DA_ControllerConfig_Button_Helicopter_Classic | Input.NamedActions.Vehicle.FireCountermeasures | IA_Vehicle_FireCountermeasures | Gamepad_DPad_Right | - | - | | DA_ControllerConfig_Button_Helicopter_Veteran | Input.NamedActions.Vehicle.Camera.HoldFreeLook | IA_Vehicle_Camera_HoldFreeLook | Gamepad_RightShoulder | - | - | | DA_ControllerConfig_Button_Helicopter_Veteran | Input.NamedActions.Vehicle.Pedals | IA_Vehicle_Pedals | Gamepad_LeftX | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | WDDeadZoneInputModifier (MinThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.LookStick.Centre; MaxThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.LookStick.MaxInput; RadiusAxialThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.LookStick.Axial; bInvertMaxThreshold=true)
WDApplyAxisConfig (bIsGamepad=true) | | DA_ControllerConfig_Button_Helicopter_Veteran | Input.NamedActions.Vehicle.Collective.Raise | IA_Vehicle_Collective | Gamepad_LeftStick_Up | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | - | | DA_ControllerConfig_Button_Helicopter_Veteran | Input.NamedActions.Vehicle.Collective.Lower | IA_Vehicle_Collective | Gamepad_LeftStick_Down | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | InputModifierNegate | | DA_ControllerConfig_Button_Helicopter_Veteran | Input.NamedActions.Vehicle.MountedWeapon.Fire | IA_Vehicle_Weapon_Use | Gamepad_RightTrigger | - | - | | DA_ControllerConfig_Button_Helicopter_Veteran | Input.NamedActions.Vehicle.Cyclic | IA_Vehicle_Cyclic | Gamepad_Right2D | InputTriggerHold (HoldTimeThreshold=0; ActuationThreshold=0.01)
InputTriggerReleased (ActuationThreshold=0.01) | WDDeadZoneInputModifier (MinThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.Centre; MaxThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.MaxInput; RadiusAxialThresholdSettingTag=UserSettings.Controls.Gamepad.DeadZone.MoveStick.Axial; bInvertMaxThreshold=true)
InputModifierSwizzleAxis
WDApplyAxisConfig (bIsGamepad=true)
MInputBlocker | | DA_ControllerConfig_Button_Helicopter_Veteran | Input.NamedActions.Vehicle.Camera.FreeLook | IA_Vehicle_Camera_FreeLook | Gamepad_Right2D | - | (null)
(null)
(null)
(null)
(null)
(null) | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Ping | IA_Ping | Gamepad_DPad_Left | - | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Player.VOIP.ToggleTalk | IA_VoiceChat_ToggleTalk | Gamepad_DPad_Left | InputTriggerChordAction (ChordAction=IA_UI_RadialWheel_VoiceChat_ChordedAction) | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.HoldableItem.Weapon.IncreaseZeroing | IA_Weapon_IncreaseZeroing | Gamepad_DPad_Left | - | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Inventory.ChangeNextItem | IA_Inventory_ChangeNextItem | Gamepad_LeftShoulder | - | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | UI.Action.Feature.RadialWheel.Equipment | IA_UI_RadialWheel_EquipmentWheel | Gamepad_LeftShoulder | InputTriggerHold (HoldTimeThreshold=0.3; bIsOneShot=true) | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | UI.Action.Feature.RadialWheel.VoiceChat.ToggleScene.ChordedAction | IA_UI_RadialWheel_VoiceChat_ChordedAction | Gamepad_LeftShoulder | InputTriggerHold (HoldTimeThreshold=0.3) | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | UI.Action.Feature.RadialWheel.VoiceChat | IA_UI_RadialWheel_VoiceChat | Gamepad_DPad_Left | InputTriggerChordAction (ChordAction=IA_UI_RadialWheel_VoiceChat_ChordedAction) | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | UI.Action.Feature.PingWheel | IA_UI_PingWheel | Gamepad_DPad_Left | InputTriggerHold (HoldTimeThreshold=0.3; bIsOneShot=true) | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Ping | IA_Ping | Gamepad_DPad_Left | InputTriggerTap | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Weapon.MeleeBash | IA_Weapon_MeleeBash | Gamepad_RightShoulder | - | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Player.CrouchProne | IA_Player_CrouchProne | Gamepad_RightThumbstick | InputTriggerPressed
InputTriggerReleased | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Ping | IA_Ping | Gamepad_DPad_Left | - | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Player.Focus | IA_Player_Focus | Gamepad_LeftThumbstick | - | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Player.Lean.Left | IA_Player_Lean_Left | Gamepad_LeftShoulder | - | - | | DA_ControllerConfig_Button_Infantry_BumperLeaner | Input.NamedActions.Player.Lean.Right | IA_Player_Lean_Right | Gamepad_RightShoulder | - | - | | DA_ControllerConfig_Button_Infantry_Default | Input.NamedActions.Ping | IA_Ping | Gamepad_RightThumbstick | - | - |
6. Doors
Folder WorldInteractable/Objects/EnvironmentalObjects/Doors. Two float curves (swing and breach progress, normalised 0 to 1, inference) and the destruction-system definitions of the interactable doors: BHDestructionBuildingDefinitionDataAsset files hold the required mesh, its centre, the chunk transforms and a chunk id lookup; the D_Decorator_* files carry only a SaveID. Related: Demolition, Demolition Assets and Destruction; a door’s open/breach behaviour itself is not stored in these files.
| Asset | Engine type | Values | |—|—|—| | Curve_DoorBreach_Float | CurveFloat | FloatCurve.Keys=3 pts: 0->0, 0.4->0.6, 1->1 | | Curve_DoorSwing_Float | CurveFloat | FloatCurve.Keys=3 pts: 0->0, 0.8->0.7, 1->1 | | D_Decorator_InteractableDoor_Apartment | BHDestructionBuildingDecoratorDefinitionDataAsset | SaveID=B96FE823-4A2B17C6-2888C494-F65184FC | | D_Decorator_InteractableDoor_ApartmentBalcony | BHDestructionBuildingDecoratorDefinitionDataAsset | SaveID=B214F042-4309B2D6-06A25E88-990D7B2D | | D_Decorator_InteractableDoor_ApartmentEntrance | BHDestructionBuildingDecoratorDefinitionDataAsset | SaveID=6196692B-45688FA6-8A3455A5-39279246 | | D_Decorator_InteractableDoor_WoodPVC | BHDestructionBuildingDecoratorDefinitionDataAsset | SaveID=A6C1FAB8-4E1AB521-8B7B06B2-FCF2D7DD | | D_Decorator_Interactable_GarageDoor_01a_Left | BHDestructionBuildingDecoratorDefinitionDataAsset | SaveID=7CD25B41-40FB483A-E7DC02AF-E79E9CDE | | D_Decorator_Interactable_GarageDoor_01a_Right | BHDestructionBuildingDecoratorDefinitionDataAsset | SaveID=512E85EB-42A5B67C-EBB27EA2-254A4088 | | D_InteractableDoor_ApartmentBalcony | BHDestructionBuildingDefinitionDataAsset | SaveID=823154B8-4D747358-CE04DD96-4636A6F2; RequiredMeshes[0].StaticMesh=SM_ModKit04_Apartment_BalconyDoor_01a; RequiredMeshes[0].MeshCenter.X=-83.99; RequiredMeshes[0].MeshCenter.Y=3.75; RequiredMeshes[0].MeshCenter.Z=136.55; RequiredMeshes[0].RefCount=1; RequiredMeshes[0]._aaaandifhiadlmpkkgbib=Building; ChunkData[0].Transform.Rotation.X=0; ChunkData[0].Transform.Rotation.Y=0; ChunkData[0].Transform.Rotation.Z=0.71; ChunkData[0].Transform.Rotation.W=0.71; ChunkData[0].Transform.Rotation.IsNormalized=true; ChunkData[0].Transform.Rotation.Size=1; ChunkData[0].Transform.Rotation.SizeSquared=1; ChunkData[0].Transform.Translation.X=3.86; ChunkData[0].Transform.Translation.Y=-0.69; ChunkData[0].Transform.Translation.Z=0.52; ChunkData[0].Transform.Scale3D.X=1; ChunkData[0].Transform.Scale3D.Y=1; ChunkData[0].Transform.Scale3D.Z=1; ChunkData[0].AssetRefIndex=0; ChunkData[0].NiagaraAssetRefIndex=-1; ChunkData[0].Properties=1; ChunkData[0].NiagaraBespokeEffectFormat=NoBespokeFormat; ChunkData[0].NiagaraDataChannelParameters.DebrisMeshType=None; ChunkData[0].NiagaraDataChannelParameters.DebrisShape=None; ChunkData[0].NiagaraDataChannelParameters.DebrisMaterial=None; ChunkData[0].ChunkId=88ABA2C5-40299ED2-3D986380-ECE8C985; ChunkData[0].PrefabHash=0; ChunkIDLookupMap[0].Key=88ABA2C5-40299ED2-3D986380-ECE8C985; ChunkIDLookupMap[0].Value=0 | | D_InteractableDoor_ApartmentEntrance | BHDestructionBuildingDefinitionDataAsset | SaveID=E6B8786E-48BF4787-F82DC9B0-6AADD490; RequiredMeshes[0].StaticMesh=SM_ModKit04_Apartment_EntranceDoor_01a; RequiredMeshes[0].MeshCenter.X=-79.86; RequiredMeshes[0].MeshCenter.Y=3.22; RequiredMeshes[0].MeshCenter.Z=134.9; RequiredMeshes[0].RefCount=1; RequiredMeshes[0]._aaaandifhiadlmpkkgbib=Building; ChunkData[0].Transform.Rotation.X=0; ChunkData[0].Transform.Rotation.Y=0; ChunkData[0].Transform.Rotation.Z=0.71; ChunkData[0].Transform.Rotation.W=0.71; ChunkData[0].Transform.Rotation.IsNormalized=true; ChunkData[0].Transform.Rotation.Size=1; ChunkData[0].Transform.Rotation.SizeSquared=1; ChunkData[0].Transform.Translation.X=3.72; ChunkData[0].Transform.Translation.Y=0.57; ChunkData[0].Transform.Translation.Z=-0.18; ChunkData[0].Transform.Scale3D.X=1; ChunkData[0].Transform.Scale3D.Y=1; ChunkData[0].Transform.Scale3D.Z=1; ChunkData[0].AssetRefIndex=0; ChunkData[0].NiagaraAssetRefIndex=-1; ChunkData[0].ChunkCustomPrimitiveData=[1, 1, 0.82, 0.76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; ChunkData[0].Properties=1; ChunkData[0].NiagaraBespokeEffectFormat=NoBespokeFormat; ChunkData[0].NiagaraDataChannelParameters.DebrisMeshType=None; ChunkData[0].NiagaraDataChannelParameters.DebrisShape=None; ChunkData[0].NiagaraDataChannelParameters.DebrisMaterial=None; ChunkData[0].ChunkId=908B5B26-415CF37C-0CB58D81-D6060919; ChunkData[0].PrefabHash=0; ChunkIDLookupMap[0].Key=908B5B26-415CF37C-0CB58D81-D6060919; ChunkIDLookupMap[0].Value=0 | | D_InteractableDoor_Office | BHDestructionBuildingDefinitionDataAsset | SaveID=A036229D-4CEF26AF-969DFC94-57D58FF2; RequiredMeshes[0].StaticMesh=SM_ModKit04_DoorSolid_01a; RequiredMeshes[0].MeshCenter.X=-79.11; RequiredMeshes[0].MeshCenter.Y=-5.05; RequiredMeshes[0].MeshCenter.Z=135; RequiredMeshes[0].RefCount=1; RequiredMeshes[0]._aaaandifhiadlmpkkgbib=Building; ChunkData[0].Transform.Rotation.X=0; ChunkData[0].Transform.Rotation.Y=0; ChunkData[0].Transform.Rotation.Z=0.71; ChunkData[0].Transform.Rotation.W=0.71; ChunkData[0].Transform.Rotation.IsNormalized=true; ChunkData[0].Transform.Rotation.Size=1; ChunkData[0].Transform.Rotation.SizeSquared=1; ChunkData[0].Transform.Translation.X=-4.6; ChunkData[0].Transform.Translation.Y=-0.79; ChunkData[0].Transform.Translation.Z=-0.25; ChunkData[0].Transform.Scale3D.X=1; ChunkData[0].Transform.Scale3D.Y=1; ChunkData[0].Transform.Scale3D.Z=1; ChunkData[0].AssetRefIndex=0; ChunkData[0].NiagaraAssetRefIndex=-1; ChunkData[0].ChunkCustomPrimitiveData=[0.5, 0.26, 0.11, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; ChunkData[0].Properties=1; ChunkData[0].NiagaraBespokeEffectFormat=NoBespokeFormat; ChunkData[0].NiagaraDataChannelParameters.DebrisMeshType=None; ChunkData[0].NiagaraDataChannelParameters.DebrisShape=None; ChunkData[0].NiagaraDataChannelParameters.DebrisMaterial=None; ChunkData[0].ChunkId=81DB8CE6-48A98DC1-35681999-58A66E10; ChunkData[0].PrefabHash=0; ChunkIDLookupMap[0].Key=81DB8CE6-48A98DC1-35681999-58A66E10; ChunkIDLookupMap[0].Value=0 | | D_InteractableDoor_WoodPVC | BHDestructionBuildingDefinitionDataAsset | SaveID=F18736F4-4C432292-749FF6A7-7E79B1B9; RequiredMeshes[0].StaticMesh=SM_ModKit04_Apartment_BalconyDoor_01a; RequiredMeshes[0].MaterialOverrideArray[0]=MI_WindowFrame_Wood; RequiredMeshes[0].MeshCenter.X=-83.99; RequiredMeshes[0].MeshCenter.Y=3.75; RequiredMeshes[0].MeshCenter.Z=136.55; RequiredMeshes[0].RefCount=1; RequiredMeshes[0]._aaaandifhiadlmpkkgbib=Building; ChunkData[0].Transform.Rotation.X=0; ChunkData[0].Transform.Rotation.Y=0; ChunkData[0].Transform.Rotation.Z=0.71; ChunkData[0].Transform.Rotation.W=0.71; ChunkData[0].Transform.Rotation.IsNormalized=true; ChunkData[0].Transform.Rotation.Size=1; ChunkData[0].Transform.Rotation.SizeSquared=1; ChunkData[0].Transform.Translation.X=3.86; ChunkData[0].Transform.Translation.Y=-0.69; ChunkData[0].Transform.Translation.Z=0.52; ChunkData[0].Transform.Scale3D.X=1; ChunkData[0].Transform.Scale3D.Y=1; ChunkData[0].Transform.Scale3D.Z=1; ChunkData[0].AssetRefIndex=0; ChunkData[0].NiagaraAssetRefIndex=-1; ChunkData[0].Properties=1; ChunkData[0].NiagaraBespokeEffectFormat=NoBespokeFormat; ChunkData[0].NiagaraDataChannelParameters.DebrisMeshType=None; ChunkData[0].NiagaraDataChannelParameters.DebrisShape=None; ChunkData[0].NiagaraDataChannelParameters.DebrisMaterial=None; ChunkData[0].ChunkId=88ABA2C5-40299ED2-3D986380-ECE8C985; ChunkData[0].PrefabHash=0; ChunkIDLookupMap[0].Key=88ABA2C5-40299ED2-3D986380-ECE8C985; ChunkIDLookupMap[0].Value=0 | | D_Interactable_GarageDoor_01a_Right | BHDestructionBuildingDefinitionDataAsset | SaveID=FC6D8766-40A77D04-F08BBEA1-22890F0B; RequiredMeshes[0].StaticMesh=SM_Garage_Door_01a_Unlocked_Right_01a; RequiredMeshes[0].MeshCenter.X=-78; RequiredMeshes[0].MeshCenter.Y=0.45; RequiredMeshes[0].MeshCenter.Z=128.65; RequiredMeshes[0].RefCount=1; RequiredMeshes[0]._aaaandifhiadlmpkkgbib=Building; ChunkData[0].Transform.Rotation.X=0; ChunkData[0].Transform.Rotation.Y=0; ChunkData[0].Transform.Rotation.Z=-0.71; ChunkData[0].Transform.Rotation.W=0.71; ChunkData[0].Transform.Rotation.IsNormalized=true; ChunkData[0].Transform.Rotation.Size=1; ChunkData[0].Transform.Rotation.SizeSquared=1; ChunkData[0].Transform.Translation.X=-6.49; ChunkData[0].Transform.Translation.Y=-157.9; ChunkData[0].Transform.Translation.Z=-0.69; ChunkData[0].Transform.Scale3D.X=1; ChunkData[0].Transform.Scale3D.Y=1; ChunkData[0].Transform.Scale3D.Z=1; ChunkData[0].AssetRefIndex=0; ChunkData[0].NiagaraAssetRefIndex=-1; ChunkData[0].Properties=1; ChunkData[0].NiagaraBespokeEffectFormat=NoBespokeFormat; ChunkData[0].NiagaraDataChannelParameters.DebrisMeshType=None; ChunkData[0].NiagaraDataChannelParameters.DebrisShape=None; ChunkData[0].NiagaraDataChannelParameters.DebrisMaterial=None; ChunkData[0].ChunkId=3B6ABC62-4AF46813-A639478E-F0BAB94A; ChunkData[0].PrefabHash=0; ChunkIDLookupMap[0].Key=3B6ABC62-4AF46813-A639478E-F0BAB94A; ChunkIDLookupMap[0].Value=0 |