The vehicles.meta file is the core file defining vehicle properties in FiveM. It contains the main configuration for how a vehicle behaves and appears in the game.
Structure
The vehicles.meta file uses binary XML format and requires conversion to text for editing. It contains a list of vehicle definitions with the following key elements:
<InitDataList>
<residentTxd>vehshare</residentTxd>
<residentAnims></residentAnims>
<Item type="CVehicleModelInfo__InitDataList">
<modelName>adder</modelName>
<txdName>adder</txdName>
<handlingId>ADDER</handlingId>
<gameName>ADDER</gameName>
<vehicleType>AUTOMOBILE</vehicleType>
<plateType>0</plateType>
<internalName>Adder</internalName>
<class>8</class>
...
</Item>
</InitDataList>
Key Attributes
Basic Properties
| Attribute | Purpose | Example |
|---|
| modelName | Vehicle model identifier | "adder" |
| txdName | Texture dictionary name | "adder" |
| gameName | Game name/hash reference | "ADDER" |
| internalName | Display name in UI | "Adder" |
Vehicle Configuration
| Attribute | Values | Purpose |
|---|
| vehicleType | AUTOMOBILE, BIKE, QUAD, etc. | Vehicle classification |
| class | 0-20 | Vehicle class (compact, sedan, etc.) |
| plateType | 0-5 | License plate style |
| wheelType | 0-x | Default wheel style |
File References
| Attribute | Purpose |
|---|
| handlingId | References handling.meta entry |
| audioNameHash | Audio configuration name |
| layoutHash | References vehiclelayouts.xml |
| sirenHash | Siren configuration |
| Attribute | Purpose | Range |
|---|
| estimatedMaxSpeed | Top speed estimate | 0-300 |
| bones | Damage and breakable parts | List of bone names |
| seats | Seat configuration | Passenger count |
Common Vehicle Types
<vehicleType>AUTOMOBILE</vehicleType>
<vehicleType>BIKE</vehicleType>
<vehicleType>QUAD</vehicleType>
<vehicleType>PLANE</vehicleType>
<vehicleType>HELI</vehicleType>
<vehicleType>BOAT</vehicleType>
Vehicle Classes
| Class | Type | Examples |
|---|
| 0 | Compact | Issi, Panto |
| 1 | Sedan | Oracle, Fugitive |
Core Identity Elements
| Property | Purpose |
|---|
<modelName> | Game model identifier used throughout the engine (e.g., 07gal) |
<txdName> | Texture dictionary file reference - must match YTD filename (e.g., 07gal) |
<gameName> | Game hash name for internal references - usually same as modelName (e.g., 07gal) |
<vehicleMakeName> | Display name shown in UI and menus to players (e.g., 2007 Ramborini Gillado) |
<handlingId> | Links to handling.meta entry for physics and driving characteristics (e.g., 07gal) |
<audioNameHash> | References audio configuration file for engine/vehicle sounds (e.g., gallardov10) |
Layout & Positioning
| Property | Purpose |
|---|
<layout> | Seating layout type - defines bone structure and seat positions (e.g., LAYOUT_LOW) |
<coverBoundOffsets> | AI cover point configuration - where AI takes cover behind vehicle (e.g., VACCA_COVER_OFFSET_INFO) |
<scenarioLayout> | Scenario-specific bone configurations for special animations (empty for most vehicles) |
Camera Configuration
| Property | Purpose |
|---|
<cameraName> | Default third-person camera behavior when driving (e.g., DEFAULT_FOLLOW_VEHICLE_CAMERA) |
<aimCameraName> | Camera position during weapon aiming from vehicle (e.g., DEFAULT_THIRD_PERSON_VEHICLE_AIM_CAMERA) |
<bonnetCameraName> | Hood camera view type for bonnet/hood view (e.g., VEHICLE_BONNET_CAMERA_MID_HIGH) |
<povCameraName> | Point-of-view camera reference for driver view (e.g., DEFAULT_POV_CAMERA) |
<PovCameraOffset x="" y="" z=""> | X, Y, Z offset for POV camera position relative to driver seat (e.g., 0.0, -0.25, 0.6) |
<FirstPersonDriveByIKOffset x="" y="" z=""> | Hand position during first-person drive-by animations (specific X, Y, Z coordinates) |
Visual & Physics Properties
| Property | Purpose |
|---|
<wheelScale> | Front wheel size multiplier - scales wheel model size (Float 0.0-1.0+, e.g., 0.273700) |
<wheelScaleRear> | Rear wheel size multiplier - independent from front (Float 0.0-1.0+, e.g., 0.273700) |
<HDTextureDist> | Distance at which HD textures load instead of LOD textures (Float units, e.g., 5.0) |
<dirtLevelMax> | Maximum visible dirt/damage accumulation on vehicle (Float 0.0-1.0, e.g., 0.300000) |
<damageMapScale> | How visible damage appears on vehicle body (Float scale, e.g., 0.600000) |
<defaultBodyHealth> | Starting vehicle health/integrity value (Float HP, e.g., 1000.0) |
| Property | Purpose |
|---|
<swankness> | Vehicle prestige level for traffic spawning (e.g., SWANKNESS_5 - high prestige) |
<maxNum> | Maximum vehicles of this type spawning in traffic simultaneously (Integer, e.g., 4) |
<frequency> | How often this vehicle spawns in traffic (0-100 scale, e.g., 30) |
<visibleSpawnDistScale> | Distance multiplier for when vehicle becomes visible (Float, e.g., 1.0) |
<lodDistances> | Level-of-detail render distances for each LOD level (Multiple float values) |
Special Features & Behavior
| Property | Purpose |
|---|
<flags> | Behavioral flags controlling special features (Space-separated, e.g., FLAG_SPORTS FLAG_RICH_CAR FLAG_AVERAGE_CAR) |
<type> | Vehicle type classification (e.g., VEHICLE_TYPE_CAR) |
<plateType> | License plate style (e.g., VPT_FRONT_AND_BACK_PLATES) |
<dashboardType> | Interior dashboard configuration (e.g., VDT_ZTYPE) |
<vehicleClass> | Performance/class categorization (e.g., VC_SUPER) |
<wheelType> | Default wheel style (e.g., VWT_HIEND) |
Animation & Audio References
| Property | Purpose |
|---|
<expressionDictName> | Animation dictionary for NPC facial expressions and reactions |
<animConvRoofDictName> | Convertible roof animation dictionary (null if not convertible) |
<ptfxAssetName> | Particle effects asset reference for special effects |
<vfxInfoName> | Visual effects configuration (e.g., VFXVEHICLEINFO_CAR_GENERIC) |
Door & Interaction Configuration
| Property | Purpose |
|---|
<driveableDoors> | Which doors can be opened by players (List of door bone names) |
<doorsWithCollisionWhenClosed> | Doors that have collision physics even when closed (List of door names) |
<extraIncludes> | Extra model parts that load with vehicle (XML file references) |
Weapon & Targeting
| Property | Purpose |
|---|
<weaponForceMult> | Damage multiplier from weapons (Float 1.0 = normal damage, e.g., 1.0) |
Example Complete Entry
<Item>
<modelName>07gal</modelName>
<txdName>07gal</txdName>
<handlingId>07gal</handlingId>
<gameName>07gal</gameName>
<vehicleMakeName>2007 Ramborini Gillado</vehicleMakeName>
<audioNameHash>gallardov10</audioNameHash>
<layout>LAYOUT_LOW</layout>
<cameraName>DEFAULT_FOLLOW_VEHICLE_CAMERA</cameraName>
<wheelScale value="0.273700" />
<swankness>SWANKNESS_5</swankness>
<maxNum value="4" />
<flags>FLAG_SPORTS FLAG_RICH_CAR FLAG_AVERAGE_CAR FLAG_NO_BROKEN_DOWN_SCENARIO FLAG_HAS_INTERIOR_EXTRAS</flags>
<type>VEHICLE_TYPE_CAR</type>
<vehicleClass>VC_SUPER</vehicleClass>
</Item>
| 2 | SUV | Granger, Serrano |
| 3 | Coupe | Exemplar, Cogcutier |
| 4 | Muscle | Gauntlet, Blade |
| 5 | Sports | Pfister, Cheetah |
| 6 | Super | Ninetyeight, Adder |
| 7 | Motorcycle | Bati, Hakuchou |
| 8 | Off-road | Baller, Granger |
| 9 | Industrial | Dump, Mixer |
| 10 | Utility | Towtruck, Flatbed |
| 11 | Van | Speedo, Gang |
| 12 | Cycle | Tribike, Fixter |
| 13 | Boat | Dinghy, Seashark |
| 14 | Helicopter | Buzzard, Swift |
| 15 | Plane | Mallard, Cuban |
| 16 | Service | Ambulance, Firetruk |
| 17 | Emergency | Police, FIB |
| 18 | Military | Barrage, Tank |
| 19 | Commercial | Bus, Docktug |
| 20 | Train | Freight, Passenger |
- Extract vehicles.meta from your resource
- Convert from binary to XML using CodeWalker
- Edit the XML file with your code editor
- Add your vehicle entries
- Convert back to binary format
- Test in-game
Best Practices
- Keep vehicle names lowercase and unique
- Match handlingId to your handling.meta entries
- Use proper vehicle classes for sorting
- Reference existing vehicles as templates
- Test each new vehicle before adding more
Example: Adding a Custom Vehicle
<Item type="CVehicleModelInfo__InitDataList">
<modelName>mycustom</modelName>
<txdName>mycustom</txdName>
<handlingId>MYCUSTOM</handlingId>
<gameName>MYCUSTOM</gameName>
<vehicleType>AUTOMOBILE</vehicleType>
<plateType>0</plateType>
<internalName>My Custom Car</internalName>
<class>5</class>
<audioNameHash>engine_v8_sound</audioNameHash>
<layoutHash>VEHICLE_LAYOUT_STANDARD</layoutHash>
<seats>4</seats>
<estimatedMaxSpeed>200</estimatedMaxSpeed>
</Item>
Common Issues
- Vehicle doesn't load - Check modelName matches actual model
- Textures missing - Verify txdName matches texture file
- Handling feels wrong - Check handlingId in handling.meta exists
- Missing in spawner - Ensure vehicle is properly defined with gameName