Vehicle config fields

Source: the *VehicleConfigDataAsset, MTrackedVehicleWheelData, BHRotaryFlightDataAsset, BHAirVehicleDragDataAsset and WDVehicleGameplayComponentsDataAsset exports under the vehicle plugins. Generated by _tools/vehicle_round85_tables.py. Evidence and status: round 85 vehicles.

Vehicle parts and handling holds the engine, axle, wheel and suspension tables. This page adds the fields it leaves out. - means the asset does not set the field (a native default applies, see the defaults section of that page).

1. Wheeled vehicle config (MWheeledVehicleConfigDataAsset)

Asset Horn min hold (s) Ground trace length Hide occupants in first person Moving-effect speed threshold First-person camera offset Exit damage type Prediction settings Exit damage curve
DA_WHL_01_Config 0.05 200 true - (3.3431, -51.7284, 152.8621) WDImpactDamageType DA_WHL_01_PredictionSettings CRV_ExitVehiclePunishment_Damage
DA_Config_WHL_02 0.05 - - - (3, -51.7284, 165) WDImpactDamageType DA_PredictionSettings_WHL_02 CRV_ExitVehiclePunishment_Damage
DA_Config_WHL_02_Pickup 0.05 - - - (3, -51.7284, 165) WDImpactDamageType DA_PredictionSettings_WHL_02_Pickup CRV_ExitVehiclePunishment_Damage
DA_Config_WHL_05_Humvee 0.05 - - 80 - WDImpactDamageType DA_PredictionSettings_WHL_05_Humvee CRV_ExitVehiclePunishment_Damage
DA_Config_WHL_05_Humvee_Minigun 0.05 - - 80 - WDImpactDamageType DA_PredictionSettings_WHL_05_Humvee_Minigun CRV_ExitVehiclePunishment_Damage
DA_Config_WHL_05_Humvee_RingTurret 0.05 - - 80 - WDImpactDamageType DA_PredictionSettings_WHL_05_Humvee_RingTurret CRV_ExitVehiclePunishment_Damage
DA_Config_WHL_06_DuneBuggy 0.05 - - - (3, -51.7284, 165) WDImpactDamageType DA_PredictionSettings_WHL_06_DuneBuggy CRV_ExitVehiclePunishment_Damage
DA_Config_WHL_07 0.05 - - - (3, -51.7284, 165) WDImpactDamageType DA_PredictionSettings_WHL_07 CRV_ExitVehiclePunishment_Damage
DA_Config_WHL_08 0.05 - - 80 - WDImpactDamageType DA_PredictionSettings_WHL_08 CRV_ExitVehiclePunishment_Damage

The exit damage type is the same WDImpactDamageType everywhere. Gameplay cue tags (engine, collision, moving, horn, destroyed) are cosmetic and are listed in the export only.

2. Tracked vehicle config (MTrackedVehicleConfigDataAsset)

Asset Horn min hold (s) Moving-effect speed threshold Moving-effect angular threshold Third-person camera offset Prediction settings
DA_SPW_Spawn_Config 0.05 - 0.2 (0, 0, 110) -
DA_Config_TNK_01_Artillery 0.05 - 0.2 (0, 0, 110) DA_PredictionSettings_TNK_01_Artillery
DA_Config_TNK_03 0.05 - 0.2 (0, 0, 110) DA_PredictionSettings_TNK_03
DA_Config_TNK_01_Heavy 0.05 - 0.2 (0, 0, 110) DA_PredictionSettings_TNK_01_Heavy
DA_Config_TNK_04 0.05 - 0.2 (0, 0, 110) DA_PredictionSettings_TNK_04

Tracked wheel data (MTrackedVehicleWheelData)

Asset Suspension length Wheel radius Spring rate Damping compress Damping rebound Max incline (deg) Incline grip multiplier (X, Y, Z) Lateral friction Steering friction reduction Unnamed float (_aaabodchgifaioegpnmah)
DA_SPW_01_WheelData 40 38 112,500 12,000 17,000 50 (1, 2, 1) 3.5 - 4.5
DA_TNK_01_WheelData 40 35 112,500 12,000 17,000 50 (1, 2, 1) 3.25 1 4.5
DA_TNK_04_WheelData 40 40.5 112,500 12,000 17,000 50 (1, 2, 1) 3.335 0.75 4.5

The tracks share the spring rate (112,500), damping (12,000 / 17,000), suspension length (40) and 50 degree incline limit; they differ in wheel radius (SPW 38, TNK_01 35, TNK_04 40.5) and lateral friction (3.5, 3.25, 3.335). SPW_01 sets no steering friction reduction (native default).

3. Rotary vehicle config and flight (BHRotaryVehicleConfigDataAsset, BHRotaryFlightDataAsset)

Flight characteristics scalars:

Asset Rotor radius Max lift coeff Stall blade angle (deg) Low alt (m) High alt (m) Cyclic attenuation Ground effect % Falloff (m) Exponent Translational lift Max angular velocity (deg/s)
DA_ROT_02_FlightCharacteristics 600 1.8 40 40 200 0.45 - 12 - 20% over 24 to 34 m/s 83 (off)
DA_ROT_03_FlightCharacteristicsDataAsset2000KGLight - 1.25 - 75 250 0.6 - 12 1.1 16% over 20 to 28 m/s 83 (off)
DA_ROT_04_FlightCharacteristicsDataAsset 800 5.75 - 50 250 0.45 30 12 - 25% over 24 to 34 m/s 83 (off)

Control forces:

Asset Control Type Max torque Min force Max force Min blade delta Max blade delta
DA_ROT_02_FlightCharacteristics Pitch RotorBladeAngle 4.8e+09 - - - 1.3
DA_ROT_02_FlightCharacteristics Roll RotorBladeAngle 1.5e+09 - - - 0.42
DA_ROT_02_FlightCharacteristics Yaw - 3.3e+08 - - - -
DA_ROT_02_FlightCharacteristics Collective RotorBladeAngle - 400,000 2,800,000 -0.5 10
DA_ROT_03_FlightCharacteristicsDataAsset2000KGLight Pitch RotorBladeAngle 4.8e+09 - - - 2
DA_ROT_03_FlightCharacteristicsDataAsset2000KGLight Roll RotorBladeAngle 1.5e+09 - - - 0.6
DA_ROT_03_FlightCharacteristicsDataAsset2000KGLight Yaw - 3.7e+07 - - - -
DA_ROT_03_FlightCharacteristicsDataAsset2000KGLight Collective RotorBladeAngle - 400,000 2,800,000 -3 14.5
DA_ROT_04_FlightCharacteristicsDataAsset Pitch RotorBladeAngle 4.8e+09 - - - 6
DA_ROT_04_FlightCharacteristicsDataAsset Roll RotorBladeAngle 1.5e+09 - - - 0.85
DA_ROT_04_FlightCharacteristicsDataAsset Yaw - 5e+08 - - - -
DA_ROT_04_FlightCharacteristicsDataAsset Collective RotorBladeAngle - 400,000 3,400,000 -1.9 10.67

4. Air drag (BHAirVehicleDragDataAsset, BHAirplaneDragDataAsset)

Property ROT_02_Drag ROT_03_Drag2000KGLight ROT_03_RocketPods_Drag2000KGLight ROT_04_Drag FWG_01_Drag
AirDensityAtSeaLevel 0.00125 0.00125 0.00125 0.00125 0.00125
FrontDragArea 4,000 1,000 1,000 4,000 4,000
RearDragArea 4,500 3,500 3,500 6,000 3,500
SideArea 7,000 5,000 5,000 9,000 5,000
BottomArea 700,000 350,000 350,000 350,000 2,800,000
TopArea 700,000 400,000 400,000 400,000 2,800,000
DragCoefficient 0.0056 0.0056 0.0056 0.0056 0.0056
YawAngularVelocityInducedDragTorqueCoef 2.4e+11 8e+10 8e+10 2e+11 2.4e+12
PitchAngularVelocityInducedDragTorqueCoef 1.2e+12 1e+11 1e+11 3e+11 1.2e+13
RollAngularVelocityInducedDragTorqueCoef 9.5e+10 8e+09 8e+09 3.2e+10 9.5e+11
YawLinearVelocityInducedDragTorqueCoef 40,000 12,000 12,000 120,000 70,000
PitchLinearVelocityInducedDragTorqueCoef 800 180 180 540 90,000
RollLinearVelocityInducedDragTorqueCoef 0.18 0.18 0.18 0.3 0.18
ReverseYawCorrectionCoef 0.8 0.8 0.8 0.8 0.8

The 2000 KG light drag asset is shared by ROT_03 and its rocket-pod variant (identical values). All five assets have bDrawDragDebugLines true. Against Havoc (ROT_02) the airplane has the same front area and coefficient, a 4 times larger top and bottom area (2,800,000 against 700,000), 10 times larger angular-velocity torque coefficients (yaw, pitch, roll) and a smaller rear and side area. What the area fields mean in the native formula is not decoded.

5. Fuel settings (FuelSettings in each *GameplaySystems asset)

Asset Max fuel (L) KML (km per litre) Listed economy = 1/KML (L/km, derived) Range on a full tank (km, derived) RPML Boost multiplier Refuel interaction range
DA_GameplaySystems_ROT_02 130 0.225 4.44 29.2 350 - -
DA_GameplaySystems_ROT_03 105 0.225 4.44 23.6 350 - -
DA_ROT_04_GameplaySystems 120 0.225 4.44 27 350 - 250
DA_GameplaySystems_SPW - 0.175 5.71 - 115 - -
DA_GameplaySystems_STN_04 1 - - - 1 1 -
DA_GameplaySystems_TNK_03 105 0.1 10 10.5 115 - -
DA_GameplaySystems_TNK_01_Artillery 105 0.125 8 13.1 115 - -
DA_GameplaySystems_TNK_01_Heavy 110 0.125 8 13.8 115 - -
DA_GameplaySystems_TNK_04 110 0.1437 6.96 15.8 115 - -
DA_WHL_01_GameplaySystems 15 0.45 2.22 6.8 180 - -
DA_GameplaySystems_WHL_02 50 0.35 2.86 17.5 140 - -
DA_GameplaySystems_WHL_05_Humvee 65 0.3 3.33 19.5 110 - -
DA_GameplaySystems_WHL_05_Humvee_Minigun 65 0.3 3.33 19.5 110 - -
DA_GameplaySystems_WHL_05_Humvee_RingTurret 65 0.3 3.33 19.5 110 - -
DA_GameplaySystems_WHL_06_DuneBuggy 68 0.2 5 13.6 135 - -
DA_GameplaySystems_WHL_07 85 0.25 4 21.2 130 - -
DA_GameplaySystems_WHL_08 60 0.25 4 15 110 - -
DA_FWG_01_GameplaySystems - - - - - - -

What the fields do. The fuel component’s tick (native 0x7666FA0, round 85) subtracts rate x dt + leak x dt from the fuel attribute each frame while the owning vehicle’s network role is 3 (ROLE_Authority: the drain runs only where the vehicle is authoritative, a host or server; round 88, static reading) and the component is not flagged off. The rate term is only added when the vehicle’s bIsEngineRunning flag is set (round 88: the extra owner check of round 85 is that flag); the leak term does not depend on it, so a vehicle with its engine off still loses fuel to a leak. rate comes from 0x7665DB0:

  • Moving: rate = speed(km/h) / 3600 / KML litres per second, so a vehicle burns 1/KML litres per kilometre and Max fuel x KML kilometres is the range on a full tank (derived).
  • At or below the idle speed threshold (IdleSpeedThreshold, never set in the cooked assets; the constructor default is 1.0 km/h, round 88) the rate switches from speed to the engine RPM, and divides by RPML instead of KML: rate = RPM / 3600 / RPML litres per second (Native, static reading). Wheeled vehicles read the engine RPM of their movement simulation; helicopters read a rotor or engine RPM from their rotary component; tracked vehicles and the airplane return 0, so they burn nothing while stopped or crawling at 1 km/h or less. Worked example (Derived): a Humvee idling at its 700 RPM idle setting with RPML 110 burns 700 / 3600 / 110 = 0.0018 L/s, about 0.11 L per minute, against about 5.6 L per minute at 100 km/h (100 / 3600 / 0.3 = 0.093 L/s); this assumes the simulation holds the engine at its idle RPM while stopped.
  • Other constructor defaults of the fuel settings (Native, 0x7665AC0): MaxFuel 100, KML 1.0, RPML 1500, boost multiplier 1.5, and two further floats 20 and 95 that the rate does not use (one is presumably LowFuelThreshold). The cooked assets override MaxFuel, KML and RPML for most vehicles in the table above (a - there means the constructor default applies).
  • The rate is multiplied by the boost multiplier while boosting, and by a fuel-usage multiplier from character skills (FuelUsageReduction, see the Driver and Pilot skill tables).
  • leak is the stored fuel-leak value set by the fuel-tank damage effects (0.1 to 3.0 litres per second, see Fuel and refueling).

Which settings field each native slot holds is inferred from how the value is used; the component constructor (0x7665AC0) confirms the order KML, idle threshold, RPML, then the boost multiplier, which differs from the SDK field order. The listed economy in the vendor stats equals 1/KML for most vehicles (Havoc 4.4, Humvee 3.3, Kodiak 2.9, Bobcat 2.2, Dune Buggy 5.0, Ural 4.0, M113 5.7, SPH-2 and L2A6 8.0, Gepard 10.0); the T-72B3 is the exception (vendor 8.5, 1/KML 6.96). The airplane sets no fuel settings at all.

6. Per-vehicle gameplay settings and ramming

These fields are read from cooked data. Fields marked Native were traced in the executable (static reading, round 91); the rest are read from their names (Derived). - means the asset does not set the field. The same values are in assets/data/vehicle-gameplay-settings.json.

Abandonment, inventory, faction (*GameplaySystems)

Asset Vehicle Inactivity lifetime outside a safe zone (s) Inventory accessible Faction changes Neutral after (s)
DA_GameplaySystems_ROT_02 Havoc 90 true - -
DA_GameplaySystems_ROT_03 MH-6 / AH-6M / AH-6R 10 true - -
DA_ROT_04_GameplaySystems Z20 Lakota - true - -
DA_GameplaySystems_SPW M113 APC SV - true - -
DA_GameplaySystems_STN_01 stationary emplacement 30,000 (about 8.3 hours) true false -
DA_GameplaySystems_STN_02 stationary emplacement 30,000 (about 8.3 hours) true false -
DA_GameplaySystems_STN_03 stationary emplacement 30,000 (about 8.3 hours) true false -
DA_GameplaySystems_STN_04 stationary emplacement - - false 36,000
DA_GameplaySystems_STN_05 stationary emplacement 30,000 (about 8.3 hours) true false -
DA_GameplaySystems_STN_06 stationary emplacement 30,000 (about 8.3 hours) true false -
DA_GameplaySystems_TNK_03 Flakpanzer Gepard - true - -
DA_GameplaySystems_TNK_01_Artillery SPH-2 - true - -
DA_GameplaySystems_TNK_01_Heavy L2A6 - true - -
DA_GameplaySystems_TNK_04 T-72B3 - true - -
DA_WHL_01_GameplaySystems Bobcat - - - -
DA_GameplaySystems_WHL_02 Kodiak family - true - -
DA_GameplaySystems_WHL_05_Humvee Humvee family - true - -
DA_GameplaySystems_WHL_05_Humvee_Minigun Humvee family - true - -
DA_GameplaySystems_WHL_05_Humvee_RingTurret Humvee family - true - -
DA_GameplaySystems_WHL_06_DuneBuggy Dune Buggy - - - -
DA_GameplaySystems_WHL_07 Ural family - true - -
DA_GameplaySystems_WHL_08 Wolf-110 family - true - -
DA_FWG_01_GameplaySystems Fixed-wing airplane - - - -

InactivityLifetimeOutSafeZone is the only inactivity field any asset sets: Havoc 90 s, the MH-6 family 10 s, the stationary emplacements 30,000 s. The other vehicles keep the native default, which is not in the data. Reading the name, an unoccupied vehicle outside a safe zone is removed after that time (Derived). The client executable only copies the value into the vehicle’s gameplay-systems component at start-up (offset 1884, 0x767BC40) and has no function that reads it back, so the timer runs on the server and could not be traced; the vehicle lifetime manager (UBHVehicleLifetimeManager) holds separate server-side lifetime settings. Every asset that sets InventorySettings makes the vehicle inventory accessible; the assets without it are stationary emplacement, Bobcat, Dune Buggy, Fixed-wing airplane. The M113 APC SV also sets an unnamed float of 0.1 there. FactionSettings appears only on the stationary emplacements: none changes faction (bShouldFactionChange false), and STN_04 turns neutral after 36,000 s. Every asset sets the same lock cue tag GameplayCue.Vehicle.LockStateChange, so locking has no per-vehicle setting here.

Same-faction-only occupants (bAllowSameFactionOccupantsOnly true on the WDVehicleInteractionsDataAsset): DA_VehicleInteractions_ROT_02, DA_VehicleInteractions_SPW, DA_VehicleInteractions_TNK_03, DA_VehicleInteractions_TNK_01_Artillery, DA_VehicleInteractions_TNK_01_Heavy, DA_VehicleInteractions_TNK_04 (6 of 28 interaction assets). Native (the enter check of the vehicle operator component, 0x7693880): with the flag set, a player may enter only when the vehicle’s faction equals the player’s faction or the vehicle is neutral, and every player already seated must also match the vehicle’s faction; otherwise the enter is denied. Without the flag the check is skipped, and a separate rule (a vehicle state test, not decoded) still denies enemy-faction entry to a non-neutral vehicle. Every other vehicle leaves the flag unset. MaxInteractDistanceRadius is set on one asset only.

Ramming (WD_MVF_DestructionInvokerFragment, one per platform asset)

Platform asset Vehicle Vehicle mass Collision box size X x Y x Z (cm) Box centre (cm) Damage received per destroyed chunk Counter-force multiplier Velocity offset multiplier
VP_ROT_02 Havoc 1,200 1,000 x 300 x 180 50, 0, 200 200 0 0.2
VP_ROT_03 MH-6 / AH-6M / AH-6R 1,200 400 x 210 x 180 0, 0, 150 150 0 0.2
VP_ROT_04 Z20 Lakota 1,200 1,000 x 300 x 240 50, 0, 220 200 0 0.2
VP_SPW M113 APC SV 2,000 675 x 286 x 198 0, 0, 152.1 3 3 0.25
VP_TNK_01_AntiAir Flakpanzer Gepard 1,900 675 x 286 x 198 0, 0, 152.1 3 5 0.25
VP_TNK_01_Artillery SPH-2 1,900 675 x 286 x 198 0, 0, 152.1 3 5 0.25
VP_TNK_01_Heavy L2A6 1,900 675 x 286 x 198 0, 0, 152.1 3 5 0.25
VP_TNK_04 T-72B3 1,900 675 x 286 x 198 0, 0, 152.1 3 5 0.25
VP_WHL_01 Bobcat 400 225 x 100 x 90 0, 0, 97.5 - 0.5 0.2
VP_WHL_02 Kodiak family 800 562.5 x 200 x 180 0, 0, 97.5 - - 0.075
VP_WHL_05 Humvee family 800 562.5 x 200 x 180 0, 0, 97.5 - - 0.075
VP_WHL_06_DuneBuggy Dune Buggy 600 562.5 x 200 x 180 0, 0, 97.5 - - 0.075
VP_WHL_07 Ural family 800 900 x 330 x 250 0, 0, 97.5 - - 0.075
VP_WHL_08 Wolf-110 family 800 562.5 x 200 x 180 0, 0, 97.5 - - 0.075

The fragment gives a vehicle a box that breaks destructible geometry it runs into. Native (the destruction-invoker component, 0x6BC96E0, 0x6BC9160, 0x6BC9250, 0x6BC9450): every physics step the component sweeps the collision box (centre and size from the table) along the vehicle’s velocity, shifting the box ahead by velocity times VelocityOffsetMultiplier (a look-ahead in seconds: 0.2 s on helicopters, 0.25 s on tracked vehicles, 0.075 s on wheeled ones). Ramming only counts when speed times VehicleMass reaches a threshold held by the destruction system (its value was not read). For each destructible chunk that breaks, the vehicle is damaged by DamageRecievedWhenChunkDestroyed (a vehicle health damage call, once per chunk), and an amount supplied by the destruction event is added to a pending total (clamped to 0 to 300,000) that a delayed callback turns into an impulse on the vehicle against the direction of its velocity, scaled by CounterForceMultiplier (zero on helicopters, so they take no recoil). A - in the table is a field the asset does not set (the component then uses the zero default). A - is a field the asset does not set (a native default applies); bPlayerCustomizable is false on the platforms that set it.

See also