How to Add a Custom Paintjob to a Car Mod (2026) Guide

Adding a custom paintjob to a car mod means editing the vehicle’s texture dictionary so the game paints the car your way. For most add-on vehicles you edit a .ytd file, name your texture in the next free slot, then add one line to vehicles.meta so it shows up in the respray menu. The texture route takes about 15 minutes and no scripting. The tuning route, which wraps the paintjob in a .yft model file, takes an hour and some meta editing, and it is the one server owners want.

Below is the workflow I use: duplicate the vehicle first, work in a separate folder, test a flat colour before you add stripes, and only then worry about reflection maps. Nearly every “my livery disappeared” report traces back to skipping one of those three habits.

What You Need

Everything below is free or already on your machine. If you only install two things, make them OpenIV and an image editor.

  • OpenIV — required. This is the tool that reads and writes GTA V’s packed archives. Edit mode is what lets it save changes back into a file.
  • An image editor — GIMP, paint.net or Photoshop. Liveries are painted as flat 2D images, so nothing exotic is required.
  • Texture Toolkit — only for the tuning route. It converts images to .dds and lets you inject a texture into a .yft model.
  • The vehicle’s own files — the .ytd, the .yft, and if it ships with them, vehicles.meta and carcols.meta.
  • A UV template — a flattened map showing where each panel of the car sits in the image. More on the no-template case below.
  • A clean working folder — copy the vehicle files somewhere outside the game folder, edit the copies, then export back.

Keep a separate working folder inside your game directory rather than editing the live files. If something goes wrong mid-save, you restore one folder instead of reinstalling GTA V.

Where the files live in an add-on vehicle

FileTypical locationWhat it controls
.ytdaddons/cars/<mod>/stream/Every texture on the car, including the livery slots
.yftaddons/cars/<mod>/stream/The 3D model, and with it any tuning-mounted livery
vehicles.metaaddons/cars/<mod>/ or common/data/Vehicle flags, including whether liveries are offered
carcols.metacommon/data/Colours and tuning upgrades, including livery entries
carvariations.metacommon/data/Variation definitions that reference modkit IDs

Step-by-Step: Adding the Custom Paintjob

Step-by-Step: Adding the Custom Paintjob

Before the first click, pick your route. They produce the same visual result in game, but they touch different files and suit different people.

MethodWhat you editDifficultyRespray menuFiveM serversBest for
Texture livery.ytd plus one line in vehicles.metaBeginnerYesYesPersonal cars, first attempts, multiple colour options
Tuning livery.dds inside a .yft, plus carcols.metaIntermediateNo, appears as an upgradeYesServer vehicle packs, packs that ship many liveries

One sentence to keep straight: the texture method swaps artwork inside an existing model, the tuning method ships a whole extra model part. Start with the texture method. Move to tuning only when you need a livery to behave like an official upgrade, which is usually a server decision rather than a personal one.

Step 1: Back Up the Car Mod and Inspect Its Files

Duplicate the entire vehicle folder and rename the copy. Everything you do from here happens in the duplicate, so the original download stays untouched and you always have something to fall back on.

Open the duplicate in OpenIV and look inside stream. You are hunting for the .ytd that belongs to this car — add-on packs often ship more than one, and guessing wrong means your paint lands on the wrong vehicle or nowhere at all.

Open the .ytd in the texture viewer. Look for entries named like car_sign_1, car_livery1, or the vehicle’s own naming scheme. If the pack already has three liveries and you want a fourth, the next name in sequence is yours. If the slot you want is empty or a small placeholder, use the same convention the file already uses rather than inventing a new one.

Also check whether the pack includes a UV template, usually a PNG named template or something similar. Police and emergency-service packs usually ship one.

Step 2: Choose the Right Paint Texture Format

Texture route: a 1024×1024 PNG with no alpha channel, saved flat. If the original slot uses transparency, keep it transparent — a small placeholder image with a transparent 4×4 pixel works well for an unused slot.

Tuning route: the image has to become a .dds. Use DXT1 when the paintjob has no transparency and DXT5 when it does. Texture Toolkit handles the conversion in one step, and getting the compression wrong here is a common cause of textures that load as black.

Match the resolution of the texture already in the file. A 2048×2048 image dropped into a 1024×1024 slot will look soft or will fail outright, depending on the tool. Working at the same size as the original is the safe move.

Step 3: Edit or Create the Custom Paint Texture

Open the template and open the original livery side by side. Paint on top of the flattened template, staying inside the panel outlines. The UV layout is what tells the game which part of your image wraps which piece of the car, so anything you paint outside those shapes is either invisible or stretched somewhere odd.

Keep the areas the game depends on intact. The window regions, the glass, and the interior are usually separate textures; leave them out of your paint file rather than filling them with body colour. Same with the number plate area if the pack treats it as its own slot.

If your mod ships no template, you have three ways out. Load the vehicle in CodeWalker and export its projected UV atlas. Extract an existing livery from the .ytd and build a template from that flattened image. Or use a browser UV atlas tool that renders the car in 3D and paints straight onto it, then exports a PNG. The third option is the fastest when all you want is a colour change.

Step 4: Add Livery, Decals, Logos, and Finishing Details

Start with the body colour and nothing else. Once you know the base colour renders correctly across every panel, add stripes, numbers or sponsor-style marks on top. Adding everything at once makes it impossible to tell whether a problem came from the colour or the decal.

Leave clean space in the areas that will be covered later — number plates, light bars, roof racks and door-mounted equipment get their own geometry. Paint over them and you get paint bleeding onto a part that sits in front of the panel.

Check the result from several angles in your editor, especially the doors, the roof edge, and the rear bumper. Those are where a template stretches its UVs and where a badly placed stripe bends visibly. For a matte finish, mute the highlight layer rather than desaturating the base colour; it keeps the reflections physically sensible in game.

Step 5: Replace the Vehicle Files and Match the Config

Import your finished image into the .ytd under the correct slot name. The numbering rule catches people out constantly: the number goes in the name, before the extension. car_sign_1.dds becomes car_sign_2.dds — not car_sign_1.dds with a 2 after the extension. Some packs use a different pattern, such as _livery1 through _livery10, so follow the convention already present in your file rather than assuming.

Save the .ytd and drop it back into the mod’s stream folder, overwriting the copy you made in step one. The filename must match exactly what the .yft references, including case.

Then handle the flag. Open vehicles.meta and find the entry for your model. Without a livery flag, the game loads your texture fine and never offers it anywhere in the interface, which is the single most common reason a finished paintjob looks like it was ignored. Add the line to that vehicle’s flags:

<Item>vehicle_name</Item>
<Flags>FLAG_HAS_LIVERY</Flags>

If the pack has no vehicles.meta at all, you are not obliged to build one from scratch for a personal car — the texture still applies to the bodywork. You need it for the respray menu, which is where you want it if you plan to switch designs in game.

Step 6: Test the Paintjob in GTA

Step 6: Test the Paintjob in GTA

Load the game and spawn the car. Check the body colour first, then open the respray menu at Los Santos Customs and confirm your entry is listed and selectable. Switch between liveries a few times, because a slot that loads alone can behave differently when the game swaps textures.

Look at the car under direct sunlight and in shadow. Reflections come from the shared texture set rather than your image, so a paintjob can look correct in daylight and still sit oddly with the specular highlight. Matte and metallic finishes need the highlight layer tuned rather than the base colour pushed darker.

Check the windows, the interior, the number plate and any lights. Those are separate textures, and a mistake in step three shows up here. Then damage the car slightly: damaged panels use different texture sets, and it is common for a livery to vanish on a dented door simply because the damaged texture set has no matching entry.

Finally, confirm the game loads the replacement without errors. A clean load, correct paintwork and a working respray entry means the job is done. Anything else belongs in the fixes section below.

The tuning route, when you need it

Use this if you are building a vehicle pack for a server, or if you want several liveries that behave like official upgrades rather than body skins.

Convert your artwork to .dds in Texture Toolkit. Extract an existing livery .yft from the vehicle, open it, and replace the texture inside it while keeping the internal texture name identical — that name mismatch is why liveries imported this way often load as an untextured surface. Rename the file to the next number in sequence and place it in stream.

Then add an upgrade block in carcols.meta, copying an existing entry and changing the livery number to match your new file. On FiveM, a new tuning entry often appears to do nothing until the modkit ID is bumped in both carcols.meta and carvariations.meta, or the server cache is cleared. That single step explains most “my upgrade vanished” reports from first-time server owners.

Packaging it so other people can install it

Single-player and FiveM read the same folder layout, so the difference is the wrapper. Single-player wants an addons folder with your dlc.rpf inside it, dropped into the game directory. FiveM wants a resource folder with a fxmanifest.lua and a stream folder containing the vehicle files. RAGE:MP takes a zip of the same resource structure.

Ship the UV template with the pack if you made one. Most of the questions on modding forums about a given car are answered by a template existing in the download.

A short note on where this is legal: editing your own single-player install is a local change to files on your machine. GTA Online runs under anti-cheat, custom files are not permitted there, and neither FiveM nor RAGE:MP permits code that touches the game itself. Keep your edits to assets on multiplayer, and read the platform rules before you publish.

Common Mistakes and Quick Fixes

Almost every failure has a short answer. Find your symptom in the table before you start changing files at random.

SymptomWhat it meansFix
Livery not listed in the respray menuThe vehicle has no livery flag, or the .ytd is not being readAdd FLAG_HAS_LIVERY to vehicles.meta, confirm the .ytd sits in stream with the exact filename the model expects
Car shows up pink, purple or untexturedThe game cannot find a texture it expectsCheck filename case and the numbering convention, then confirm the .ytd you edited is the one belonging to that vehicle
Paint appears stretched or bent across panelsArtwork was painted off the UV template or at the wrong resolutionRealign to the template at the original slot’s resolution
Livery works single-player, not on the serverThe resource is not loading, or another pack overrides itCheck the fxmanifest.lua, confirm the resource starts, clear the server cache, remove competing packs for the same vehicle
Paint disappears on a damaged panelThe damaged texture set has no entry for your liveryAdd a matching damaged variant with the same naming convention, or accept it as a known limitation
“This vehicle cannot be modified”A GTA Online restriction, unrelated to your filesTest in single-player or on a FiveM server; this error does not apply to either
Game crashes or refuses to load after installingA corrupted archive, often from saving into the live game folderRestore your backup folder, then re-export from the working copy with Edit mode
Another mod’s paint replaced yoursTwo packs for the same vehicle, with the most recently installed winningRemove one pack; only one livery set per vehicle can load at a time

Two habits close most of these before they start. Preview the livery inside OpenIV by loading the vehicle’s .yft — that tells you whether a texture is mapped correctly in seconds, rather than after a full game launch. And if a mod ships no template, build one from an existing livery before you start painting; guessing at the layout is the slowest possible way to work.

Frequently Asked Questions

What if my car mod does not come with a UV template?

You have three options. Load the vehicle in CodeWalker and export its projected UV atlas. Extract an existing livery from the ytd file and turn that flattened image into your own template. Or use a browser UV atlas tool that renders the car in 3D, lets you paint on it directly and exports a PNG. The second option is the most reliable for learning how the panels are laid out.

Do I put the 2 before or after the file extension when naming liveries?

Before the extension. The number belongs in the name, so the next slot after car_sign_1.dds is car_sign_2.dds. Some packs use a different pattern such as livery1 through livery10, so always follow the naming convention already present in your own ytd file rather than assuming a fixed one.

Will a livery work on any car?

A livery made for one model will not fit another, because the UV layout differs on every vehicle. Reusing a livery across a reskinned version of the same car is generally fine, since the body geometry is identical. Transplanting artwork onto an unrelated model is not, and you would need to rebuild the template for the target car.

Why is modding GTA 5 so complicated?

Most of the difficulty comes from file locations rather than skill. Artwork lives in one file, the model in another, and the flag that makes a paintjob selectable lives in a meta file somewhere else. Once you know which of the two methods fits your goal, the actual work is short. The texture route takes about 15 minutes.

Is modding GTA 5 illegal or bannable?

Editing your own single-player install is a local change to files on your computer. GTA Online is a different matter: it runs under anti-cheat and custom assets are not permitted there. FiveM and RAGE:MP allow asset mods but not anything touching the game itself. Read the platform rules before publishing anything you make.

Conclusion

Start by duplicating the vehicle’s original texture file and opening it in OpenIV. Match its resolution, keep its naming convention, and paint a single flat colour onto the template before you add anything else. Once that colour renders on every panel and appears in the respray menu, the hard part is done and everything after it is decoration.

If the colour does not appear, work through the fixes table above before touching the texture again — nine times out of ten it is the flag, the filename or a texture that never got saved back to the right folder.

Leave a Comment