FiveM tuning parts missing: modkit and carcols conflicts
Tuning parts or upgrades missing on a FiveM add-on car? It's almost always carcols.meta: a clashing modkit id, a kit name typo or a broken file.
The car spawns and drives fine, but the tuning menu is empty. No bumpers, no spoilers, sometimes not even engine or brakes. Or the parts are listed and picking one does nothing. In almost every case the model is fine and the problem is in carcols.meta or carvariations.meta.
How the mod shop finds parts
It never looks inside the .yft. It goes through the modkit:
carvariations.metanames the kit under<kits>, e.g.<Item>23521_annisronin_modkit</Item>.carcols.metadefines a kit with that exact<kitName>, a numeric<id value="..." />, the visual parts in<visibleMods>and the upgrades in<statMods>.- Every visual part is its own
.yftinstream, referenced by<modelName>.
Break any of those and the menu shrinks. The usual culprit isn't a typo though, it's a kit id clash.
Duplicate modkit id
Kit ids are global for the whole server. If two resources use the same id, one of them wins and the other car loses its whole kit, upgrades included. That's why it can look like the car has no tuning at all.
Where the clash usually comes from:
- Two creators who picked the same number.
- An old build of the car still in
resourcesand still started. - A car someone copied and renamed without touching the id.
Finding it
- Search every
carcols.metaon the server for<id value=. - Only compare ids inside
<Kits>.<Lights>and<Sirens>have their own id lists. - Change one of the duplicates to something unused. Kit ids can go above 255, so a five-digit number is a safe pick.
- If the number is part of
<kitName>, rename it there too and updatecarvariations.metato match.
We had exactly this on our police car during development: empty menu, no errors anywhere. An older test build was still running with the same kit id. New id, menu back.
Kit name mismatch
The name under <kits> in carvariations.meta has to match <kitName> character for character. After a rename it's easy to update one file and forget the other. The car still works, the mod shop just can't find its kit.
Keep the vanilla fallback kit after yours:
<kits>
<Item>23521_annisronin_modkit</Item>
<Item>0_default_modkit</Item>
</kits> Broken XML in carcols.meta
One unclosed tag and the game skips the whole file, so the kit, lights and sirens all disappear together. Open the file in a browser or any XML validator before digging deeper. We validate every meta file before a car ships for this reason.
Also check fxmanifest.lua: the file needs to be under files and loaded with data_file 'CARCOLS_FILE' 'data/carcols.meta'. A missing data_file line looks exactly the same in game.
Part is listed but nothing changes
Model not streamed
Every <modelName> in visibleMods needs a matching .yft in stream. Check spelling and case.
Stock part still visible
A new bumper only replaces the old one if the old one gets hidden through <turnOffBones>, e.g. <Item>bumper_f</Item> or a misc_ bone. Without it the new part sits inside the stock one and you see no change.
Part exported in the wrong space
Mod parts are drawn relative to their <bone>. Model a part in car space, attach it to bumper_f or bumper_r, and it ends up a metre or two away from the car. Walk around the car after selecting it; if it's floating nearby, re-export the part relative to its bone.
Exhaust smokes from the old pipes
Smoke comes from bones named exhaust, exhaust_2 and so on. Give the new tips their own exhaust bones and add the stock ones to turnOffBones if the old pipes should go.
Lights borrowed from another car
Same file, different problem. <lightSettings value="..." /> in carvariations.meta and the matching <Lights> id in carcols.meta are read as 0 to 255. Set 999 and it wraps around, possibly onto another car's id, and your car picks up that car's lights. We use ids in the 212 to 249 range, which vanilla doesn't touch, and keep them unique.
Checklist
| Symptom | Check |
|---|---|
| No tuning at all, not even engine | Duplicate kit id, kit name mismatch, broken carcols.meta |
| Upgrades work, visual parts missing | visibleMods entries and their .yft files |
| Part selectable, nothing changes | turnOffBones, part exported in the wrong space |
| Lights look like another car's | lightSettings above 255 or shared with another car |
If the car doesn't show up at all, go through the install guide and troubleshooting first. All GKModz cars ship with their own kit, light and siren ids, so something like the Annis Elegy RH8 Ronin can sit next to other packs without clashing.