Two cars using the same handling are behaving differently

Hi are there some limitations on what changes FiveM will allow to handling.meta or vehicles.meta for stock vehicles?

I’ve noticed this problem when installing the same vehicle twice on my server: as a replacement vehicle + an add-on vehicle. Even though both the cars were using the same handlingID, the in-game handling of the replacement vehicle behaved completely different, the engine sound was different too. But I compared both my vehicles.meta entries and they’re both identical…

So I’m wondering if this is a FiveM limitation? plus, I remember hearing about limitations to modifying stock weapon firing rates, but I believe modifying fire-rates is possible now.

Anyways, here is my vehicles.meta information for both vehicles:

add-on vehicles.meta

<Item>
      <modelName>schwartzerc</modelName>
      <txdName>schwartzerc</txdName>
      <handlingId>SCHWARTZERC</handlingId>
      <gameName>SCWH</gameName>
      <vehicleMakeName>BENEFAC</vehicleMakeName>
      <expressionDictName>null</expressionDictName>
      <expressionName>null</expressionName>
      <animConvRoofDictName>null</animConvRoofDictName>
      <animConvRoofName>null</animConvRoofName>
      <animConvRoofWindowsAffected />
      <ptfxAssetName>null</ptfxAssetName>
	  <audioNameHash>RAPIDGT3</audioNameHash>
      <layout>LAYOUT_STANDARD</layout>
      <coverBoundOffsets>GLENDALE_COVER_OFFSET_INFO</coverBoundOffsets>
      <explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
      <scenarioLayout />
      <cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName>
      <aimCameraName>MID_BOX_VEHICLE_AIM_CAMERA</aimCameraName>
      <bonnetCameraName>VEHICLE_BONNET_CAMERA_NEAR</bonnetCameraName>
      <povCameraName>DEFAULT_POV_CAMERA</povCameraName>
      <FirstPersonDriveByIKOffset x="0.000000" y="-0.050000" z="-0.030000" />
      <FirstPersonDriveByUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
      <FirstPersonProjectileDriveByIKOffset x="0.043000" y="0.000000" z="0.000000" />
      <FirstPersonProjectileDriveByPassengerIKOffset x="-0.043000" y="0.000000" z="0.000000" />
      <FirstPersonDriveByLeftPassengerIKOffset x="0.000000" y="0.000000" z="0.000000" />
      <FirstPersonDriveByRightPassengerIKOffset x="0.000000" y="-0.050000" z="-0.030000" />
      <FirstPersonDriveByLeftPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
      <FirstPersonDriveByRightPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
      <FirstPersonPassengerMobilePhoneOffset x="0.153000" y="0.113000" z="0.415000" />
      <FirstPersonMobilePhoneOffset x="0.165000" y="0.173000" z="0.515000" />
      <PovCameraOffset x="0.000000" y="-0.200000" z="0.630000" />
      <PovCameraVerticalAdjustmentForRollCage value="0.000000" />
      <PovPassengerCameraOffset x="0.000000" y="0.000000" z="0.000000" />
      <vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName>
      <shouldUseCinematicViewMode value="true" />
      <shouldCameraTransitionOnClimbUpDown value="false" />
      <shouldCameraIgnoreExiting value="false" />
      <AllowPretendOccupants value="true" />
      <AllowJoyriding value="true" />
      <AllowSundayDriving value="true" />
      <AllowBodyColorMapping value="true" />
      <wheelScale value="0.190000" />
      <wheelScaleRear value="0.190000" />
      <dirtLevelMin value="0.000000" />
      <dirtLevelMax value="0.800000" />
      <envEffScaleMin value="0.000000" />
      <envEffScaleMax value="1.000000" />
      <envEffScaleMin2 value="0.000000" />
      <envEffScaleMax2 value="1.000000" />
      <damageMapScale value="0.600000" />
      <damageOffsetScale value="0.800000" />
      <diffuseTint value="0x00FFFFFF" />
      <steerWheelMult value="0.650000" />
      <HDTextureDist value="5.000000" />
      <lodDistances content="float_array">
        20.000000
        40.000000
        80.000000
        120.000000
        500.000000
        500.000000
      </lodDistances>
      <minSeatHeight value="0.834" />
      <identicalModelSpawnDistance value="160" />
      <maxNumOfSameColor value="1" />
      <defaultBodyHealth value="1000.000000" />
      <pretendOccupantsScale value="1.000000" />
      <visibleSpawnDistScale value="1.000000" />
      <trackerPathWidth value="2.000000" />
      <weaponForceMult value="1.000000" />
      <frequency value="20" />
      <swankness>SWANKNESS_1</swankness>
      <maxNum value="4" />
      <flags>FLAG_AVERAGE_CAR</flags>
      <type>VEHICLE_TYPE_CAR</type>
      <plateType>VPT_FRONT_AND_BACK_PLATES</plateType>
	  <dashboardType>VDT_DUKES</dashboardType>
      <vehicleClass>VC_COUPE</vehicleClass>
      <wheelType>VWT_LOWRIDER</wheelType>
      <trailers />
      <additionalTrailers />
      <drivers />
      <extraIncludes />
      <vfxExtraInfos />
      <doorsWithCollisionWhenClosed />
      <driveableDoors />
      <bumpersNeedToCollideWithMap value="false" />
      <needsRopeTexture value="false" />
      <requiredExtras />
      <rewards />
      <cinematicPartCamera>
        <Item>WHEEL_FRONT_RIGHT_CAMERA</Item>
        <Item>WHEEL_FRONT_LEFT_CAMERA</Item>
        <Item>WHEEL_REAR_RIGHT_CAMERA</Item>
        <Item>WHEEL_REAR_LEFT_CAMERA</Item>
      </cinematicPartCamera>
      <NmBraceOverrideSet />
      <buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" />
      <buoyancySphereSizeScale value="1.000000" />
      <additionalVfxWaterSamples />
      <pOverrideRagdollThreshold type="NULL" />
      <maxSteeringWheelAngle value="109.000000" />
      <firstPersonDrivebyData>
        <Item>STD_DILETTANTE_FRONT_LEFT</Item>
        <Item>STD_DILETTANTE_FRONT_RIGHT</Item>
      </firstPersonDrivebyData>
    </Item>

replacement vehicles.meta (this replaces the Schwartzer)

<Item>
      <modelName>schwarzer</modelName>
      <txdName>schwarzer</txdName>
      <handlingId>SCHWARTZERC</handlingId>
      <gameName>SCHWARZE</gameName>
      <vehicleMakeName>BENEFAC</vehicleMakeName>
      <expressionDictName>null</expressionDictName>
      <expressionName>null</expressionName>
      <animConvRoofDictName>null</animConvRoofDictName>
      <animConvRoofName>null</animConvRoofName>
      <animConvRoofWindowsAffected />
      <ptfxAssetName>null</ptfxAssetName>
	  <audioNameHash>RAPIDGT3</audioNameHash>
      <layout>LAYOUT_STANDARD</layout>
      <coverBoundOffsets>GLENDALE_COVER_OFFSET_INFO</coverBoundOffsets>
      <explosionInfo>EXPLOSION_INFO_DEFAULT</explosionInfo>
      <scenarioLayout />
      <cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName>
      <aimCameraName>MID_BOX_VEHICLE_AIM_CAMERA</aimCameraName>
      <bonnetCameraName>VEHICLE_BONNET_CAMERA_NEAR</bonnetCameraName>
      <povCameraName>DEFAULT_POV_CAMERA</povCameraName>
      <FirstPersonDriveByIKOffset x="0.000000" y="-0.050000" z="-0.030000" />
      <FirstPersonDriveByUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
      <FirstPersonProjectileDriveByIKOffset x="0.043000" y="0.000000" z="0.000000" />
      <FirstPersonProjectileDriveByPassengerIKOffset x="-0.043000" y="0.000000" z="0.000000" />
      <FirstPersonDriveByLeftPassengerIKOffset x="0.000000" y="0.000000" z="0.000000" />
      <FirstPersonDriveByRightPassengerIKOffset x="0.000000" y="-0.050000" z="-0.030000" />
      <FirstPersonDriveByLeftPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
      <FirstPersonDriveByRightPassengerUnarmedIKOffset x="0.000000" y="0.000000" z="0.000000" />
      <FirstPersonPassengerMobilePhoneOffset x="0.153000" y="0.113000" z="0.415000" />
      <FirstPersonMobilePhoneOffset x="0.165000" y="0.173000" z="0.515000" />
      <PovCameraOffset x="0.000000" y="-0.200000" z="0.630000" />
      <PovCameraVerticalAdjustmentForRollCage value="0.000000" />
      <PovPassengerCameraOffset x="0.000000" y="0.000000" z="0.000000" />
      <vfxInfoName>VFXVEHICLEINFO_CAR_GENERIC</vfxInfoName>
      <shouldUseCinematicViewMode value="true" />
      <shouldCameraTransitionOnClimbUpDown value="false" />
      <shouldCameraIgnoreExiting value="false" />
      <AllowPretendOccupants value="true" />
      <AllowJoyriding value="true" />
      <AllowSundayDriving value="true" />
      <AllowBodyColorMapping value="true" />
      <wheelScale value="0.190000" />
      <wheelScaleRear value="0.190000" />
      <dirtLevelMin value="0.000000" />
      <dirtLevelMax value="0.800000" />
      <envEffScaleMin value="0.000000" />
      <envEffScaleMax value="1.000000" />
      <envEffScaleMin2 value="0.000000" />
      <envEffScaleMax2 value="1.000000" />
      <damageMapScale value="0.600000" />
      <damageOffsetScale value="0.800000" />
      <diffuseTint value="0x00FFFFFF" />
      <steerWheelMult value="0.650000" />
      <HDTextureDist value="5.000000" />
      <lodDistances content="float_array">
        20.000000
        40.000000
        80.000000
        120.000000
        500.000000
        500.000000
      </lodDistances>
      <minSeatHeight value="0.834" />
      <identicalModelSpawnDistance value="160" />
      <maxNumOfSameColor value="1" />
      <defaultBodyHealth value="1000.000000" />
      <pretendOccupantsScale value="1.000000" />
      <visibleSpawnDistScale value="1.000000" />
      <trackerPathWidth value="2.000000" />
      <weaponForceMult value="1.000000" />
      <frequency value="20" />
      <swankness>SWANKNESS_1</swankness>
      <maxNum value="4" />
      <flags>FLAG_AVERAGE_CAR</flags>
      <type>VEHICLE_TYPE_CAR</type>
      <plateType>VPT_FRONT_AND_BACK_PLATES</plateType>
	  <dashboardType>VDT_DUKES</dashboardType>
      <vehicleClass>VC_COUPE</vehicleClass>
      <wheelType>VWT_LOWRIDER</wheelType>
      <trailers />
      <additionalTrailers />
      <drivers />
      <extraIncludes />
      <vfxExtraInfos />
      <doorsWithCollisionWhenClosed />
      <driveableDoors />
      <bumpersNeedToCollideWithMap value="false" />
      <needsRopeTexture value="false" />
      <requiredExtras />
      <rewards />
      <cinematicPartCamera>
        <Item>WHEEL_FRONT_RIGHT_CAMERA</Item>
        <Item>WHEEL_FRONT_LEFT_CAMERA</Item>
        <Item>WHEEL_REAR_RIGHT_CAMERA</Item>
        <Item>WHEEL_REAR_LEFT_CAMERA</Item>
      </cinematicPartCamera>
      <NmBraceOverrideSet />
      <buoyancySphereOffset x="0.000000" y="0.000000" z="0.000000" />
      <buoyancySphereSizeScale value="1.000000" />
      <additionalVfxWaterSamples />
      <pOverrideRagdollThreshold type="NULL" />
      <maxSteeringWheelAngle value="109.000000" />
      <firstPersonDrivebyData>
        <Item>STD_DILETTANTE_FRONT_LEFT</Item>
        <Item>STD_DILETTANTE_FRONT_RIGHT</Item>
      </firstPersonDrivebyData>
    </Item>

Just send a complete repro scenario. Also, your gameName is different still between the two entries?

Thank you for replying, but after doing some more researching and testing, I’ve come to the conclusion that FiveM doesn’t fully support streaming of the vehicles.meta for replacement of stock vehicles.

The gameName was different between the two entries, but that should not affect the handling because gameName corresponds to the text that appears when entering a vehicle. Anyways, an interesting note you brought up about that… I tried replacing the gameName for another stock vehicle (Ambulance). The Ambulance also has this handling issue where I assigned the YOUGA2 handling in vehicles.meta, but FiveM doesn’t detect this, having my Ambulance tip over at any sharp turn… Anyways back to the gameName, I changed it but FiveM still displays the Ambulance gamename.

All of that ^ along with the engine audio being incorrect, and some of the interior dashboards not displaying correctly for replacement vehicles, all leads to vehicles.meta where these are assigned.

Also, the people below had the same issue:

However, I believe FiveM does support all changes to handling.meta. So a half-way solution to this would be replacing the handling of the stock vehicle, in handling.meta.
This will fix most of the handling, but all flags from the original vehicles.meta entry will remain, the engine audio, the dashboard interior, the vehicle name, etc.

You forgot that every vehicle has different mass and center of gravity

that would be defined in one of the .metas