How to Make a FiveM Car Pack
One Resource, No Conflicts
A FiveM car pack is several addon vehicles merged into a single resource: one stream/ folder with every model, one data/ folder with each car’s meta files under unique names, and one fxmanifest.lua that declares every meta in the right order. You can build it by hand in about fifteen minutes per pack, or upload the ZIPs to the free Carpack Builder and download the merged resource.
The Short Answer
Why merge at all? Thirty separate car resources mean thirty ensure lines, thirty manifests to keep valid, and a server restart that takes noticeably longer. One merged resource loads once, restarts once, and is far easier to debug. The trade-off is that a merge has to be done carefully: the cars now share one manifest and one modkit table, so any collision between them breaks both.
Two ways to get there. The manual method below works with nothing but a text editor. The Carpack Builder does the same steps automatically, including the two that people miss most often: renumbering duplicate modkit IDs and ordering the data_file lines.
Keep packs at 50 cars or fewer
Beyond that, a single resource becomes slow to restart and painful to debug, and a converted RPF over 512 MB will fail. Split larger collections into several packs by theme.
The Manual Method
Start with each car as a working standalone resource. If one of them does not spawn on its own, fix that first with the car not spawning guide; a merge never repairs a broken car, it only hides which one is broken.
1. Create the folder layout
One resource folder, for example jdm_pack, containing fxmanifest.lua, an empty stream/ and an empty data/. All lowercase.
jdm_pack/
fxmanifest.lua
stream/
data/2. Copy every streamed file into stream/
Move each car’s .yft, _hi.yft and .ytd files into the shared stream/. Do not rename them: they must keep the modelName from vehicles.meta as their base name. Two cars with the same file name means two cars with the same spawn name, which is a conflict you resolve before merging, not after.
3. Copy the metas into data/ under unique names
Every car has a vehicles.meta, carcols.meta, carvariations.meta and handling.meta. Prefix each with the spawn name so nothing overwrites: data/r34_vehicles.meta, data/r34_carcols.meta, and so on. Copy any .awc and .rel audio files too, keeping their folder names intact.
4. Check the modkit IDs
Open each carcols.meta and look at <Kits> → <id value="...">. Every car in the pack, and every car already on the server, needs a different number below 65535. When two match, change one and update the kit name reference in that car’s carvariations.meta to match.
5. Write the manifest
One files glob for the metas, then one data_file line per meta type per car, in the order vehicles.meta, carcols.meta, carvariations.meta, handling.meta. Add the AUDIO lines for cars that ship an engine sound. Full example in the next section.
6. Install and test every spawn name
ensure jdm_pack, restart, then spawn each car by name and open the tuning menu on at least two of them. If any car shows another car’s parts, a modkit ID is still duplicated. The install guide covers the server.cfg side.
The fxmanifest.lua for a Pack
This manifest merges two cars, r34 and supra, where the R34 also ships a custom engine sound. Order matters: for each car, vehicles.meta comes before carvariations.meta, and the audio game data comes before the sound data and the wavepack.
fx_version 'cerulean'
game 'gta5'
files {
'**/*.meta',
'audioconfig/*.rel',
'sfx/**/*.awc',
}
-- r34
data_file 'VEHICLE_METADATA_FILE' 'data/r34_vehicles.meta'
data_file 'CARCOLS_FILE' 'data/r34_carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/r34_carvariations.meta'
data_file 'HANDLING_FILE' 'data/r34_handling.meta'
data_file 'AUDIO_GAMEDATA' 'audioconfig/r34_game.dat151.rel'
data_file 'AUDIO_SOUNDDATA' 'audioconfig/r34_sounds.dat54.rel'
data_file 'AUDIO_WAVEPACK' 'sfx/r34'
-- supra
data_file 'VEHICLE_METADATA_FILE' 'data/supra_vehicles.meta'
data_file 'CARCOLS_FILE' 'data/supra_carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/supra_carvariations.meta'
data_file 'HANDLING_FILE' 'data/supra_handling.meta'
The '**/*.meta' glob picks up every meta under data/ so you never forget one in files; the data_file lines still have to be written one by one because they tell the game what each file is. Some cars also carry a vehiclelayouts.meta or dlctext.meta; declare those with VEHICLE_LAYOUTS_FILE and DLCTEXT_FILE respectively. How engine audio is wired is explained on the engine sounds page.
The Carpack Builder: Same Result, No Text Editor
The Carpack Builder is the manual method as a web tool. Upload the car ZIPs, name the pack, download one resource.
Merges and renames
Builds the stream/ and data/ layout, prefixes every meta with its spawn name, keeps audio folders intact, and lowercases folder names so the pack streams on Linux.
Dedupes modkit IDs
Scans every carcols.meta, detects collisions, assigns unique IDs and updates the matching carvariations.meta kit names. This is the step that makes tuning work across the whole pack.
Fixes data_file order
Writes the manifest with vehicles.meta before carvariations.meta for every car, and the AUDIO lines in the right sequence, so sirens, liveries and engine sounds survive the merge.
Repairs while it merges
A car with a missing data_file line, a Stream/ folder or a nested ZIP gets normalized on the way in. Cost: 1 credit per car; the merge itself is free.
Textures are not touched by the builder. Run the finished pack through the Optimizer afterwards if any car carries a texture over 16 MB, or use the converter first when the cars are still GTA V mods.
Pitfalls That Break Packs
| Pitfall | What you see in game | Fix |
|---|---|---|
| Duplicate modkit IDs | Tuning menu broken, body parts vanish after a restart | Unique id per car in carcols.meta, matching kit name in carvariations.meta |
| Duplicate spawn names | Only one of the two cars ever spawns, which one changes with load order | Rename the modelName and the stream files of one car |
| carvariations.meta before vehicles.meta | Sirens and tuning silently die on that car | Reorder the data_file lines |
Stream/ with a capital S |
Works on Windows, cars spawn as tankers on Linux | Lowercase stream/; see the tanker guide |
| A texture over 16 MB | That car spawns as a tanker or with missing textures | Optimizer before or after the merge |
| Pack over 512 MB when converting to RPF | Conversion fails or the archive is truncated | Split the pack; keep each RPF under 512 MB |
Rather not build it at all?
Every pack on the FiveM car packs hub is delivered already merged, deduped and optimized, with the manifest tested. If a pack does not behave, bring it to Discord: repaired or replaced.
Frequently Asked Questions
How do I merge FiveM cars into one resource?
Put every car’s stream files in one stream/ folder, copy each car’s meta files into data/ with a unique prefix, give every car a unique modkit ID, and write one fxmanifest.lua with a data_file line per meta in the order vehicles, carcols, carvariations, handling. The Carpack Builder does all of this from the uploaded ZIPs.
How many cars can one FiveM resource hold?
There is no hard engine limit, but we cap packs at 50 vehicles per resource. Larger resources restart slowly and make it hard to find which car is at fault, and a converted RPF above 512 MB fails. Split bigger collections by theme.
Why does tuning break after I merge cars?
Two cars in the pack share a modkit ID in carcols.meta, so the server-wide modkit table has one entry for both. Assign each car a unique ID below 65535 and update the kit name in its carvariations.meta. The Carpack Builder renumbers collisions automatically.
Do merged cars keep their engine sounds?
Yes, if the .rel files and the wavepack folder are copied with their names intact and the manifest declares AUDIO_GAMEDATA, AUDIO_SOUNDDATA and AUDIO_WAVEPACK in that order for each car. Renaming the wavepack folder is the usual reason a merged car goes silent.
Merge Your Cars in One Upload
Upload the ZIPs, get one resource with unique modkit IDs and a correct manifest. 1 credit per car, merge included.
Web-based • No software to install • Support on Discord