Add-on vehicles: the complete process
Add-on vehicles are the most common customization on FiveM servers. This is the definitive guide - not just "put files in a folder," but understanding every file type, every data_file line, and why each one matters. After this lesson you can add any vehicle from any source.
Build it
Prepare the folder structure
resources/my_addon_car/
fxmanifest.lua
data/
handling.meta
vehicles.meta
carcols.meta
carvariations.meta
stream/
modelname.yft <- vehicle 3D model
modelname_hi.yft <- high-detail interior
modelname.ytd <- textures
modelname+hi.ytd <- high-detail textures
Most add-on car downloads already have this structure. Verify before proceeding.
Write the fxmanifest
fx_version 'cerulean'
game 'gta5'
description 'My Add-On Vehicle'
files {
'data/**/*.meta',
}
data_file 'HANDLING_FILE' 'data/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'
data_file 'VEHICLE_LAYOUTS_FILE' 'data/vehiclelayouts.meta'
The data_file lines are critical. Each one tells FiveM: "parse this file and merge it into the game." Without them, your vehicle exists on disk but the game doesn't know about it.
Note two things about the files {} block. First, anything inside a stream/ folder auto-registers, so you do NOT list .yft/.ytd there - files {} only needs to declare the meta data files. Second, many packs ship a vehiclelayouts.meta; if yours does, register it with VEHICLE_LAYOUTS_FILE (missing it causes seating and entry bugs). If your pack has no vehiclelayouts.meta, drop that one line.
The spawn name for this vehicle comes from the <modelName> entry in vehicles.meta - that string is what you type to spawn it, so open vehicles.meta and note it before testing.
Verify the model name in vehicles.meta
Open data/vehicles.meta. Find <modelName>:
<modelName>mycar</modelName>
This is your spawn name. It must match the stream file names (e.g., mycar.yft, mycar.ytd). If they don't match, the vehicle won't spawn.
Also check:
<gameName>- the display name in trainers<vehicleClass>- VC_SPORT, VC_SEDAN, etc.<handlingId>- must match a<handlingName>in handling.meta
Spawn and test
Spawn and test the vehicle with a trainer or an in-game admin menu, using the spawn name from <modelName> (for example mycar). No code needed.
Keep reading the full lesson
Sign in to start, then unlock every step of this lesson and the full FiveM School with a membership.
- Common failures
The remainder of Add-on vehicles: the complete process is available to FiveM School members.