FiveM Tuning Parts Missing or Wrong on an Add-On Car: Fix the Mod Kit ID Conflict

An add-on car shows no body parts at the mod shop, or offers another car's bumpers. Here is how a car is tied to its mod kit, the checks to run in order, how to find two resources that use the same kit ID and how to renumber carcols.meta and carvariations.meta so they still match.

Published 7 min read8 sections

The car spawns and drives, but at the mod shop it has no spoilers or bumpers to choose from, or it lists parts that belong to a different car. On a server with several add-on cars the usual reason is two resources using the same mod kit ID. This guide shows how to confirm that, and how to fix it with a text editor.

Note

A conversion from this site's converter contains the mod author's carcols.meta and carvariations.meta unchanged. The kit ID is the number the author picked. Two authors can pick the same number, and nothing in a single zip can know what else is on your server.

Want the pack without the manual merging? The Car Pack Builder combines the cars into one resource with a single manifest and checks for conflicts. Open the Car Pack Builder

How a car gets its tuning parts

Two files work together. carcols.meta defines a mod kit: a name, a numeric ID and the list of parts. This is the start of the kit from a converted Volkswagen Tiguan add-on:

xml
<Kits>
  <Item>
    <kitName>5232_tiguan_modkit</kitName>
    <id value="5232"/>
    <kitType>MKT_SPECIAL</kitType>
    <visibleMods>
      <Item>
        <modelName>tiguan_chassis_01</modelName>
        <modShopLabel>tiguan_chassis_01</modShopLabel>
        <type>VMT_CHASSIS</type>
        ...

carvariations.meta then tells the game which kit the car uses:

xml
<modelName>tiguan</modelName>
...
<kits>
  <Item>5232_tiguan_modkit</Item>
</kits>

Three things have to be true for the parts to show:

  • The text in <kits> equals the <kitName> in carcols.meta, letter for letter.
  • The <id value> is not used by any other kit loaded on the server.
  • Every part listed under <visibleMods> exists as a .yft file of the same name in stream/, for example tiguan_chassis_01.yft.

The number at the front of the kit name is a convention that repeats the ID. The ID itself is the <id value> line.

Check this first

Go through these in order. The first ones are quick and more common than a clash.

  1. Does the mod have parts at all? Open carcols.meta. If there is no <visibleMods> list, or carvariations.meta names 0_default_modkit, the author shipped no body parts for this car. Add-ons without their own parts commonly point at that default kit. There is nothing to fix.
  2. Is carcols.meta loaded? The manifest needs the file under files and a line data_file 'CARCOLS_FILE' 'common/carcols.meta' (with your folder name), plus data_file 'VEHICLE_VARIATION_FILE' for carvariations.meta. The wiki entry on data_file lists the types.
  3. Do the two names match? Compare <kitName> with the <Item> under <kits>. The Resource Inspector reports a kit that carvariations.meta names and carcols.meta does not define.
  4. Is the kit ID used twice? See the next two sections.
  5. Are the part files there? Compare the <modelName> values under <visibleMods> with the file names in stream/.
  6. Is it the mod shop script? FiveM's native reference says body parts set with SET_VEHICLE_MOD mostly take no effect until the script has called SET_VEHICLE_MOD_KIT with 0. If an admin menu shows the parts and your mod shop does not, the files are fine and the script is the place to look.

What a kit ID clash looks like

We know of no console message for this. What server owners commonly report:

  • One of the two cars has lost its body parts at the mod shop, or
  • one car offers the parts of the other.
  • It started after a new car or car pack was added.

A simple test: stop the resource you added last, restart the server, reconnect and look at the car again. If its parts are back, the two resources share a kit ID.

Find the clash

You are looking for the same number in the <id value> line of two kits. On a Linux server, from the folder that holds resources:

bash
grep -rn -A1 "<kitName>" --include=carcols.meta resources/

In PowerShell on Windows:

powershell
Get-ChildItem resources -Recurse -Filter carcols.meta | Select-String "<kitName>" -Context 0,1

Both print every kit name with the line after it, which in most files is the ID. Look for a number that appears in more than one resource.

Warning

carcols.meta also has <id value> lines inside <Sirens> and <Lights>. Those are siren and light IDs, a separate set of numbers. Only compare, and only change, the ID that sits next to a <kitName>.

If you would rather not use a console, the Car Pack Builder reads several resources in your browser and reports an ID that more than one carcols.meta uses. It looks at every <id value> in the file, so check that a reported number belongs to a kit and not to a siren. How to build a car pack shows the tool step by step.

Renumber the kit

Change one of the two cars. It does not matter which.

Step 1: Pick a free number

Take a number that none of your carcols.meta files use; the search above gives you the list. FiveM's client code makes room for 65536 kit IDs. Older tutorials tell you to stay under 1024, which in our reading of that code is the base game's own ceiling and the reason FiveM moved it. Low numbers are commonly reported to be taken by the base game's own kits, so a four-digit or five-digit number that is free on your server is a sensible choice.

Step 2: Change carcols.meta

Make a copy of the file first. Then change the ID, and the number in the name to keep the convention:

xml
<kitName>41207_tiguan_modkit</kitName>
<id value="41207"/>

Step 3: Change carvariations.meta to match

xml
<kits>
  <Item>41207_tiguan_modkit</Item>
</kits>

This is the step people miss. If you renamed the kit in one file and not in the other, the car has no kit at all.

Step 4: Restart and check

Restart the server, reconnect and open the mod shop with the car. Check the other car too. Meta files are read when a resource starts, so a change you make while the server runs is not picked up.

Tip

With a large car collection, an open-source script such as carcols-id-fixer renumbers duplicate kit IDs across a whole resources folder and updates the matching carvariations lines. We have not tested it. Back up your resources before running any tool that rewrites files.

Keeping it from coming back

  • Before adding a car, look at its <id value> and compare it with the ones you already use.
  • Keep a short list of the kit IDs on your server.
  • When you merge cars into a pack, keep each car's carcols.meta and carvariations.meta together. Creating car packs covers the layout.

FAQ

Do kit IDs have to be below 1024 on FiveM?

No, as far as FiveM's source shows. The client sets aside 65536 kit IDs (NUM_MODKIT_INDICES in its code). The 1024 figure in older tutorials comes from the base game and still applies to single player.

Do I have to rename the kit, or only change the ID?

The clash is on the <id value> number. Renaming the kit as well keeps the usual "number, then name" convention and avoids two kits with the same name. If you do rename it, the name has to be identical in carcols.meta and in the <kits> entry of carvariations.meta.

Why did tuning break only after I added another car?

Each car was fine alone. The clash only exists once two kits with the same ID are loaded on the same server.

Does the converter fix kit IDs?

No. It returns the mod's own meta files as the author wrote them. The Car Pack Builder reports duplicate IDs when you merge resources, and you change them by hand as shown above.

The mod shop only offers engine, brakes and similar upgrades. Is that a clash?

Usually not. That is commonly what a car without its own body parts looks like: its kit has no <visibleMods> entries, or it uses the default kit. Check the first point of the list above.

Sources

Have a gta5-mods.com link ready?

Paste it into the converter and download a FiveM resource with the stream folder, meta files and fxmanifest.lua in place.

  • 3 conversions free, no account needed
  • 2 more free if you leave an email
  • After that: $15 once for unlimited conversions and the Pro tools. No subscription, 14-day refund policy