vehiclesaddon carsstreaming12 min read · updated 9/11/2026

Adding add-on vehicles to FiveM

Custom cars are the most popular asset on FiveM servers — and the most common source of “it will not spawn” questions. An add-on car is a resource with models and textures in stream/, a handful of meta files in data/, and five data_file lines. Once you know the pattern, every car pack is installed the same way.

Short answer: Put the .yft models and .ytd textures in stream/, the meta files (vehicles.meta, handling.meta, carvariations.meta, carcols.meta, optionally vehiclelayouts.meta) in data/, and declare them in the fxmanifest with HANDLING_FILE, VEHICLE_METADATA_FILE, VEHICLE_VARIATION_FILE, CARCOLS_FILE and VEHICLE_LAYOUTS_FILE. The spawn name is the modelName in vehicles.meta. Register a display name with AddTextEntry and add the car to your framework’s vehicle list for shops and garages.

How to Add Add-On Cars to a FiveM Server (Step by Step)

#Step 1: the resource layout

resources/[cars]/mycar/
fxmanifest.lua
stream/
  mycar.yft
  mycar_hi.yft
  mycar.ytd
  mycar+hi.ytd      (if the pack ships one)
data/
  vehicles.meta
  handling.meta
  carvariations.meta
  carcols.meta
  vehiclelayouts.meta (optional)

#Step 2: the fxmanifest

fxmanifest.lua
fx_version 'cerulean'
game 'gta5'

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'

client_script 'names.lua'

Wildcards let one resource hold many cars, each in its own data/<car>/ folder. What each file does is in vehicle meta files explained.

#Step 3: spawn name and display name

The spawn name is <modelName> in vehicles.meta — that is what you use in /car mycar or in your dealership config. The name shown in game comes from <gameName>, which needs a text entry:

names.lua (client)
AddTextEntry('MYCAR', 'Annis Elegy Custom')

#Step 4: dealerships and garages

FrameworkWhere cars are listed
QBCoreqb-core/shared/vehicles.lua
Qboxqbx_core/shared/vehicles.lua
ESXThe vehicles table used by the dealership resource
Standalone / vMenuNothing — spawn by model name

Without an entry, garages may refuse to store the car or show it with a wrong price and class.

#Step 5: start and test

Add ensure mycar to server.cfg (or ensure [cars] for a whole folder) and restart. Watch the server console for “oversized asset” warnings — large car packs are the most common cause of texture loss and crashes; see oversized assets.

#When the car does not spawn

SymptomCause
“Model does not exist”Wrong spawn name, resource not started, or vehicles.meta not loaded
Spawns invisible or as a different carModel name mismatch between .yft and vehicles.meta
No sound or wrong soundaudioNameHash points to a sound bank you do not have
Handling feels vanillahandlingId does not match the handlingName in handling.meta
Crash when spawningBroken or oversized model; test the car alone

Questions

How do I add a car to my FiveM server?
Create a resource with the models in stream/, the meta files in data/, declare them with data_file lines in the fxmanifest, and ensure it in server.cfg.
What is the spawn name of an add-on car?
The modelName in its vehicles.meta.
Why does my car show NULL as its name?
Its gameName has no text entry. Add AddTextEntry(gameName, "Name") in a client script.
Can I put many cars in one resource?
Yes — use wildcard data_file paths and one data/<car>/ folder per car.

Ready to pick a map?

Twelve themes on three base map styles, $8 each, instant download.