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.meta names the kit under <kits>, e.g. <Item>23521_annisronin_modkit</Item>.
  • carcols.meta defines 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 .yft in stream, 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 resources and still started.
  • A car someone copied and renamed without touching the id.

Finding it

  1. Search every carcols.meta on the server for <id value=.
  2. Only compare ids inside <Kits>. <Lights> and <Sirens> have their own id lists.
  3. Change one of the duplicates to something unused. Kit ids can go above 255, so a five-digit number is a safe pick.
  4. If the number is part of <kitName>, rename it there too and update carvariations.meta to 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.

Keep a list. Write down every kit, light and siren id running on your server. Checking a new car against it takes a minute.

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

SymptomCheck
No tuning at all, not even engineDuplicate kit id, kit name mismatch, broken carcols.meta
Upgrades work, visual parts missingvisibleMods entries and their .yft files
Part selectable, nothing changesturnOffBones, part exported in the wrong space
Lights look like another car'slightSettings 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.

More articles

Still stuck?Open a ticket on Discord with your resource name, framework and a screenshot of the server console.
Get help