Back
    GuidesGTA Knowledge · Vehicle Meta Files
    Workshop Docs

    Contents

    GTA Knowledge
    GTA5 File FormatsVehicle Meta FilesFiveM Resource StructureEUP Clothing SystemLivery & Texture BasicsCarcols & Carvariations32 Siren ScriptFixing Modkit ID Conflicts

    Documentation

    Vehicle Meta Files

    vehicles.meta, handling.meta, carcols, carvariations explained.

    Every custom vehicle in FiveM requires a set of XML meta files that tell the game engine how to treat the vehicle. These four files are the minimum required set.

    vehicles.metaRequired

    The core identity file — registers the model with the game engine, sets its class, audio, layout, and spawn behaviour. Full field reference is below.

    handling.metaRequired

    Controls all physics parameters. The most important values are fMass, fInitialDriveForce, fDriveInertia, and the traction/suspension blocks. Always start from a known-good vanilla vehicle and adjust incrementally.

    carvariations.metaRequired

    Maps livery indices to texture dictionary entries and configures paint layer behaviour. Each variation entry defines which YTD textures are loaded for that livery slot and what extras are spawned with it.

    carcols.metaRequired for sirens

    Defines emergency lighting kits and siren colour sequences. Each Kit entry links to a set of light IDs and their flash patterns, which correspond to the sequences you build in Blinklab.

    vehicles.meta — field reference

    vehicles.meta is the core file that defines a vehicle's properties in FiveM. It uses binary XML format — edit it as plain text in any text editor after exporting from OpenIV.

    Core identity

    FieldDescription
    modelNameInternal spawn name (e.g. police3). Must match your .yft filename exactly. Always lowercase.
    txdNameTexture dictionary name the model references. Usually identical to modelName.
    handlingIdLinks to the handling entry in handling.meta. Must match the handlingName value there.
    gameNameDisplay name shown in-game (e.g. in the chop shop). Usually a GXT label.
    vehicleMakeNameManufacturer label shown in the HUD (e.g. BRAVADO). Can be a custom GXT key or a vanilla value.
    audioNameHashDetermines engine and exhaust sounds. Use a vanilla vehicle name (e.g. POLICE) to inherit its audio.

    Layout & camera

    FieldDescription
    layoutVehicle layout hash — controls door/seat animations and enter/exit positions. Match to a vanilla vehicle with a similar door count and silhouette.
    cameraNameThird-person camera rig. Controls how far back and high the camera sits.
    aimCameraNameCamera used when aiming a weapon from the vehicle.
    bonnetCameraNameBonnet (hood) cam preset name.
    povCameraNameFirst-person camera preset.
    PovCameraOffsetXYZ offset applied to the first-person camera inside the cabin.

    Visual & physics

    FieldDescription
    wheelScaleFront wheel render scale multiplier. 1.0 = model default.
    wheelScaleRearRear wheel render scale multiplier.
    defaultBodyHealthStarting body health. Vanilla vehicles use 1000.0.
    damageMapScaleScales how quickly visual damage accumulates (dents, scratches).
    dirtLevelMaxMaximum dirt accumulation level (0.0 – 1.0).
    HDTextureDistDistance at which the high-detail texture is swapped in.
    lodDistancesArray of four LOD switch distances (near → far).

    Spawning & performance

    FieldDescription
    vehicleClassInteger 0–20 that determines the vehicle category (see table below).
    vehicleTypeEngine type: AUTOMOBILE, BIKE, QUAD, PLANE, HELI, BOAT, SUBMARINE, TRAILER.
    plateTypeLicence plate style (0 = blue/white, 1 = yellow/black, etc.).
    wheelTypeWheel category for mod shop options (0 = Sport, 1 = Muscle, etc.).
    estimatedMaxSpeedApproximate top speed in m/s (0–300). Used by AI pathfinding and the minimap.
    maxNumMax simultaneous instances spawned in traffic.
    frequencyTraffic spawn frequency weight relative to other vehicles in the same class.
    swanknessPrestige level that determines spawn areas (0 = common, 4 = very exclusive).
    seatsNumber of passenger seats (driver is not counted).
    visibleSpawnDistScaleMultiplier on the distance at which the vehicle becomes visible.

    Vehicle classes (0–20)

    IDClassExample
    0CompactBlista
    1SedanStanier
    2SUVGranger
    3CoupeExemplar
    4MuscleDominator
    5Sports ClassicMonroe
    6SportsElegy RH8
    7SuperAdder
    8MotorcycleBati 801
    9Off-roadMesa
    10IndustrialPhantom
    11UtilitySadler
    12VanRumpo
    13CycleTribike
    14BoatDinghy
    15HelicopterMaverick
    16PlaneLuxor
    17ServiceTaxi
    18EmergencyPolice
    19MilitaryRhino
    20CommercialPacker

    Minimal example

    <Item type="CVehicleModelInfo__InitDataList__InitData">
      <modelName>my_police</modelName>
      <txdName>my_police</txdName>
      <handlingId>POLICE</handlingId>
      <gameName>MY_POLICE</gameName>
      <vehicleMakeName>CHEVAL</vehicleMakeName>
      <audioNameHash>POLICE</audioNameHash>
      <layout>LAYOUT_STD_HIGHSEAT</layout>
      <cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName>
      <aimCameraName>DEFAULT_SCRIPTED_CAMERA</aimCameraName>
      <vehicleClass>18</vehicleClass>
      <vehicleType>AUTOMOBILE</vehicleType>
      <plateType>0</plateType>
      <wheelType>0</wheelType>
      <defaultBodyHealth value="1000.00" />
      <maxNum value="10" />
      <frequency value="30" />
      <seats value="3" />
    </Item>
    Always use lowercase for modelName and txdName. The game engine is case-sensitive on Linux-based servers and a mismatch will cause the vehicle to silently fail to load.

    Common issues

    Vehicle doesn't spawn

    modelName doesn't match the .yft filename, or the stream folder path in fxmanifest.lua is wrong.

    Textures missing / black model

    txdName doesn't match the .ytd filename, or the .ytd isn't declared in the files block of fxmanifest.lua.

    Wrong engine sound

    audioNameHash references a vehicle that doesn't exist in this context. Use a guaranteed vanilla value like POLICE or SULTAN.

    Broken enter/exit animations

    layout value doesn't suit the vehicle body shape. Copy the layout from a vanilla vehicle with a similar door count and silhouette.

    AI drives erratically

    estimatedMaxSpeed is set too high or too low. Match it to the actual top speed from fInitialDriveMaxFlatVel in handling.meta.

    Discussion

    Vehicle Meta Files

    PreviousGTA5 File FormatsNextFiveM Resource Structure
    The Workshop logoThe Workshop

    The browser workspace for serious FiveM creators.

    Tools

    Paint BoothUV StudioBlinklabEasyMetaPackBenchCode SmithEUP Viewer

    Legal

    Refund policyPrivacy policyTerms of serviceCancellation policy
    Built for creators who ship assets, resources, and servers.