How to add custom clothing to your FiveM server

Add custom clothing to your FiveM GTA V server: QBCore setup, streaming, addon vs replacement packs, the file structure, and how to make your own clothing.

Tutorial

11 min read

Updated

Clothing

Want to add custom clothing to your FiveM server? FiveM (opens in a new tab) is the multiplayer mod for GTA V, and custom clothing is what makes a roleplay server look like yours. This guide shows how custom clothing works in FiveM: the framework and plan you need, how streaming works, how addon and replacement packs differ, what every file in a pack does, and how to make your own custom clothing for GTA.

What are FiveM, Cfx.re, FXServer and Tebex?

FiveM is Cfx.re's multiplayer mod for GTA V. You run a server with FXServer, managed through txAdmin, and Tebex is the store platform for selling perks. These four names come up in every guide about custom clothing, so here is who is who.

The team and platform behind the multiplayer mods for Rockstar games, part of Rockstar since 2023. It runs the Cfx Portal, where you get your server license and manage your plan.
Cfx.re's mod for GTA V: a modified game client that joins custom multiplayer servers. RedM is the same thing for Red Dead Redemption 2.
The server program you run, and what players connect to. Real servers live on a rented machine, usually Linux, managed with txAdmin, the web panel that ships with it.
The store platform. Server owners sell VIP packages and perks through it, delivered automatically, and some creators sell clothing packs there. It's about money, not running the game.

FiveM server plans, OneSync slots and custom clothing

Custom clothing needs a Cfx.re plan of Argentum or above, because the free Pebble tier can't stream it. Every server needs a license key from the Cfx Portal (opens in a new tab), set as sv_licenseKey. Element Club is Cfx.re's monthly subscription, and the tier you pick also decides your OneSync player slots.

TierPrice per monthOneSync slotsStream custom clothing
PebbleFreeUp to 48No
Argentum$15Up to 64Yes
Aurum$25Up to 128 (64 with OneSync Legacy)Yes
Platinum$50Up to 2048 (1024 for RedM, 128 with OneSync Legacy)Yes

OneSync is the sync system that lets a server hold more than 32 players: the server decides which players and objects each person can "see", instead of sending everything to everyone. A slot is one player connected at the same time, so your tier is your player cap.

FiveM frameworks: QBCore, Qbox and ESX

A framework is a big set of scripts that adds jobs, money, an inventory and character creation to an empty FXServer. It's what turns an empty server into a roleplay server. The three you will meet are QBCore, Qbox and ESX, and custom clothing works on all three.

Open source, written in Lua, with a huge library of ready-made resources, including a clothing menu (qb-clothing).
A community fork of QBCore with a stricter, cleaner codebase and mostly compatible resources.
The older framework, still very widely used, with its own ecosystem of resources.

You also need a database, usually MariaDB (opens in a new tab) or MySQL, where the framework saves characters and what they're wearing. The framework doesn't care where the clothes come from: it asks the game "how many tops exist?", and the game answers with vanilla clothes plus yours.

What is streaming custom clothing in FiveM?

Streaming custom clothing in FiveM means the server sends the files in a resource's stream folder to each player's game when they join. A server resource is a folder with a fxmanifest.lua, and anything inside its folder called stream is cached on the player's PC afterwards. That's streaming.

Clothing needs only two kinds of streamed files: the model (.ydd) and its colors (.ytd). They're the same flat sheet and 3D shape from the UV map article.

FiveM addon clothing vs replacement clothing

There are two ways to get a custom item into the game. A replacement swaps a vanilla item for yours, while an addon adds brand-new items at the end of each category and leaves the originals untouched. Addons are the better choice for anything you plan to keep.

ReplacementAddon
What it doesSwaps a vanilla item for yoursAdds brand-new items at the end of each category
Extra data filesNone.ymt and .meta
Original itemGone for everyoneStays untouched
How many itemsOnly as many as the game already hasAs many as you want, within game limits
Game updatesCan break when vanilla items changeSafe, your slots are separate
Best forQuick tests, one-offsAnything you plan to keep
Replacement pack: no metadata, same names as the game's files
replace_pack
fxmanifest.luano data_file
stream
mp_m_freemode_01^jbib_005_u.yddoverwrites vanilla top 5
mp_m_freemode_01^jbib_diff_005_a_uni.ytdand its first texture

Inside a FiveM addon clothing pack: .ydd, .ytd, .ymt and .meta

An addon clothing pack is a resource folder with an fxmanifest.lua, a stream folder holding the .ydd models, .ytd textures and a .ymt, and a .meta file with the shop data. Each file has one job, and the file names must follow a strict pattern.

An addon pack for the male freemode ped
mypack
fxmanifest.luaresource ID card
mp_m_freemode_01_mp_m_mypack.metashop data
stream
mp_m_freemode_01_mp_m_mypack.ymtvariations
mp_m_freemode_01_mp_m_mypack^jbib_000_u.yddtop 0: model
mp_m_freemode_01_mp_m_mypack^jbib_diff_000_a_uni.ytdtexture a
mp_m_freemode_01_mp_m_mypack^jbib_diff_000_b_uni.ytdtexture b
mp_m_freemode_01_mp_m_mypack^lowr_000_u.yddlegs 0: model
mp_m_freemode_01_mp_m_mypack^lowr_diff_000_a_uni.ytdtexture a

Female clothes use the same layout with mp_f_freemode_01 instead of mp_m_freemode_01. A pack for both is two sets of files, each with its own .meta and .ymt.

What every file is

fxmanifest.lua

The resource's ID card. Names the game, lists the data files and says what type each one is.

Both
.ydd

The 3D model of one item (a jacket, a pair of jeans), already rigged to the body.

Both
.ytd

The textures: the painted color sheet wrapped around the model. One .ydd can have many, one per color variation.

Both
.ymt

The variation data. Tells the game which drawables and textures this pack has for each body part.

Addon only
.meta

The shop data. Registers the pack under its name and describes each item: menu slot, price, texture count.

Addon only
fxmanifest.lua
fx_version 'cerulean'game 'gta5'
author 'Your Studio'description 'Custom clothing pack: addon'
-- Tells the game these data files exist...files {  'mp_m_freemode_01_mp_m_mypack.meta',}
-- ...and what kind of data they are.data_file 'SHOP_PED_APPAREL_META_FILE' 'mp_m_freemode_01_mp_m_mypack.meta'

You almost never write the .ymt and .meta by hand. Community tools such as Sollumz (opens in a new tab) and CodeWalker (opens in a new tab) create them from your models and textures. What matters is knowing what each one does, so you can debug a pack that doesn't show up.

How a file name is built

The names aren't free-form. The game parses them, and one wrong character makes the item vanish.

Anatomy of a file name
mp_m_freemode_01_mp_m_mypack ^ jbib _ 000 _ u .ydd└────────── pack ──────────┘   │     │    │   └ model file   (ped + your DLC name)       │     │    └ "u" = universal skin tone                               │     └ drawable number, starting at 000                               └ component: the body part this item goes on
mp_m_freemode_01_mp_m_mypack ^ jbib _ diff _ 000 _ a _ uni .ytd                                          │       │   │   └ texture file                                          │       │   └ texture variation: a, b, c...                                          │       └ same drawable number as the .ydd                                          └ "diff" = diffuse (the color texture)

Try it yourself. Change the pack name, the body part, the drawable number and the texture letter, and watch the two file names change.

Model file

mp_m_freemode_01_mp_m_mypack^jbib_000_u.ydd

Texture file

mp_m_freemode_01_mp_m_mypack^jbib_diff_000_a_uni.ytd
CodeComponent IDBody part
head0Head
berd1Masks
hair2Hair
uppr3Arms and torso
lowr4Legs
hand5Bags and parachutes
feet6Shoes
teef7Neckwear: scarves, chains, ties
accs8Undershirts
task9Armor and vests
decl10Decals
jbib11Tops and jackets

This is the number you pass as the second argument of SetPedComponentVariation(ped, id, drawable, texture, palette) (opens in a new tab).

Props such as hats and glasses use the p_ codes and their own set of files. Copy their naming from a vanilla prop in CodeWalker (opens in a new tab).

How to make custom clothing for FiveM with Alive Games

To make custom clothing for FiveM you don't have to build an addon pack by hand. Alive Studio turns a texture you paint on a GTA V garment into an addon pack that is ready to put on your server: pick an item, paint it, create the addon and download it. See also the FiveM clothing creator.

Choose the GTA V garment you want to customize from the catalogue, a jacket or a pair of jeans for example.

Set up your FiveM server for GTA V

To set up a FiveM server for GTA V, get a license key from the Cfx Portal on a plan that includes Stream Custom Clothing, then install FXServer, txAdmin, a database and your framework. Start the server once and make sure you can join it before you add the pack.

From the Cfx Portal (opens in a new tab), on a plan that includes Stream Custom Clothing.

server.cfg
## server.cfgsv_licenseKey "cfxk_xxxxxxxxxxxxxxxxxxxx_yyyyy"   # from the Cfx Portalsv_hostname "My Clothing Server"sv_maxclients 64                                  # can't exceed your plan's slotsset onesync on                                    # needed for more than 32 players
ensure qb-coreensure qb-clothingensure mypack                                     # our clothing resource

How to add custom clothing to your FiveM server

To add custom clothing to your FiveM server, put the pack folder in the server's resources folder, add its ensure line to server.cfg, and restart. A pack does nothing until the server starts it, and players get its files once they reconnect.

Copy the pack folder into the server's resources folder. You can group packs in a folder whose name is in square brackets, like [clothes]. The brackets only group things: the server ignores them, and the pack's name is just its own folder name.

Where the pack goes
server-data
server.cfgadd: ensure mypack
resources
[framework]
qb-core
qb-clothing
[clothes]
mypack
Copy the pack in
# Copy the pack into the resources folder (quote the path: the brackets are part of the name)cp -r mypack "/home/fivem/server-data/resources/[clothes]/"

To turn a pack off, remove its ensure line, or run stop mypack to stop it until the next restart. Players keep the files they already downloaded, but the items disappear from the menu once they reconnect.

FiveM custom clothing not showing up: fixes

When custom clothing doesn't show up on a FiveM server, check the ensure line and the folder name, the plan that streams custom clothing, file name typos, the size of the pack, and the clothing menu's own limits. Each fix is below, one problem at a time.