# Adding add-on vehicles to a FiveM server

> Add an add-on car to FiveM: models in stream/, meta files in data/, the five data_file lines in the manifest, the spawn name, and the framework car list.

Source: https://fam-tools.com/guides/fivem-add-addon-cars · FAM Tools · published 2026-09-11 · updated 2026-09-11 · about 12 min

**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.

## Key points

- `stream/` for models and textures, `data/` for meta files.
- Five `data_file` types cover almost every car.
- Spawn name = `modelName` in vehicles.meta.
- Display name: `AddTextEntry(gameName, "Label")`.
- Dealerships and garages need the car in your framework’s list.

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.

## Step 1: the resource layout

*resources/[cars]/mycar/*

```text
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*

```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](https://fam-tools.com/guides/fivem-vehicle-meta-files).

## 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)*

```lua
AddTextEntry('MYCAR', 'Annis Elegy Custom')
```

## Step 4: dealerships and garages

| Framework | Where cars are listed |
| --- | --- |
| QBCore | `qb-core/shared/vehicles.lua` |
| Qbox | `qbx_core/shared/vehicles.lua` |
| ESX | The `vehicles` table used by the dealership resource |
| Standalone / vMenu | Nothing — 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](https://fam-tools.com/guides/fivem-oversized-assets-warning).

## When the car does not spawn

| Symptom | Cause |
| --- | --- |
| “Model does not exist” | Wrong spawn name, resource not started, or `vehicles.meta` not loaded |
| Spawns invisible or as a different car | Model name mismatch between `.yft` and vehicles.meta |
| No sound or wrong sound | `audioNameHash` points to a sound bank you do not have |
| Handling feels vanilla | `handlingId` does not match the `handlingName` in handling.meta |
| Crash when spawning | Broken 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.

## Related

- https://fam-tools.com/guides/fivem-vehicle-meta-files
- https://fam-tools.com/guides/fivem-handling-meta-guide
- https://fam-tools.com/guides/fivem-replace-vs-addon-vehicles
- https://fam-tools.com/guides/fivem-oversized-assets-warning
