Installation
About five minutes, and a full server restart at the end. The one step people get wrong is the order of the lines in server.cfg — read step 3 twice.
Before you start
Section titled “Before you start”| You need | Why |
|---|---|
| oxmysql, running | Designs, items and outfits are stored in the database |
| ox_lib | The studio’s callbacks and notifications |
| ESX, QBCore or QBox (optional) | Only for the wearable items. Without one, the studio runs standalone |
| ox_inventory (optional) | Preferred for items when it is running |
| A Gemini API key (optional) | Only for the AI generator — free at aistudio.google.com/apikey |
| A Fivemanage token (optional) | Hosts design and item photos — free at fivemanage.com |
1. Put both folders in place
Section titled “1. Put both folders in place”The package holds two resources. Drop both, side by side, into your resources — for example resources/[mic]/mic_cloth_designer and resources/[mic]/mic_cloth_addons.
2. The database — nothing to do
Section titled “2. The database — nothing to do”The tables create themselves on the first start: mic_cloth_designs and mic_cloth_imported for designs, mic_cloth_items for items and outfits.
mic_cloth_designs.sql ships at the root of mic_cloth_designer for anyone who prefers to create the first two by hand. You do not need it.
3. server.cfg — the order matters
Section titled “3. server.cfg — the order matters”Two separate groups of lines, in two places.
Near the top of server.cfg, above every ensure:
- give the resource
mic_cloth_designerthe ACEscommand.refresh,command.ensure,command.startandcommand.stop(fouradd_ace resource.mic_cloth_designer … allowlines) — the studio restartsmic_cloth_addonsitself after you export a garment; - add the filesystem permission that lets
mic_cloth_designerwrite intomic_cloth_addons(add_filesystem_permission mic_cloth_designer write mic_cloth_addons); - give whoever should use the studio the ACE
mic_clothdesigner— for example togroup.admin, or to one person’sidentifier.discord:….
Further down, with your other resources: ensure oxmysql, then ox_lib, then mic_cloth_addons, then mic_cloth_designer. An ensure [mic] that covers both works too, as long as it comes after the block above.
Just trying it out? Set Config.OpenPermission = false in shared/config.lua and anybody can open the studio — the write permission is still needed.
4. Your keys
Section titled “4. Your keys”Open mic_cloth_designer/shared/keys.lua. It is a server-only file: nothing in it is ever sent to a player. Fill in what you use and leave the rest as empty quotes.
| Key | What it does | Needed |
|---|---|---|
GeminiAPIKey | The AI texture generator | Only for AI. Empty = the AI tool is off |
FivemanageToken | Hosts design and item photos | Recommended. Empty = photos are kept in the database |
DiscordWebhook | Logs each AI generation with its estimated cost | Optional |
ClothNetworkKey | Leave empty. The Cloth Network works without it | No |
5. Items
Section titled “5. Items”One generic item carries every design: cloth_design (the name is Config.Items.Name in shared/config.lua).
| Item | What it does |
|---|---|
cloth_design | Wears the design stored on it; use it again to put back what you had on |
The definitions ship in mic_cloth_designer/items/:
| File | For |
|---|---|
items/ox.lua | ox_inventory — goes in ox_inventory/data/items.lua |
items/qb.lua | QBCore — goes in qb-core/shared/items.lua |
No image ships for it: each item shows the render of its own design on ox_inventory. On QBCore, put a cloth_design.png in qb-inventory/html/images/ if you want a default icon. On ESX without ox_inventory, add an item named cloth_design to your items the way you add any other.
Designs you sell in shops get their own item names later — see 🎒 Items.
6. Framework
Section titled “6. Framework”Nothing to switch. The item bridge finds qb-core or es_extended by itself and uses ox_inventory when it is running. Set Config.Framework in shared/config.lua to 'qb' or 'esx' to match your server.
On QBox, the bridge finds it through its QBCore compatibility — qbx_core provides qb-core — and Config.Framework stays on 'qb': QBox runs QBCore resources through its compatibility layer.
Standalone works too. With no framework the studio, the 3D preview, the AI generator and the Cloth Network all run as usual; only the ACE permission is needed to open it. Leave Config.Framework on 'qb'. The wearable items are the one part that needs ESX, QBCore or QBox.
7. Full restart, then the first design
Section titled “7. Full restart, then the first design”Restart the whole server, not just the resource: GTA reads clothing data when the server boots.
- In game, type
/clothdesigner. - Pick a garment from the Library, paint something, and press Save.
It worked when the studio opens with the Library, the 3D preview and the editor side by side, Save answers Saved, and your character is wearing the garment with your design on it.
To wear it again later, turn it into an item — see 🎒 Items.
Before you open your city
Section titled “Before you open your city”- Turn
Config.Debugoff inshared/config.lua. It ships on and prints every step to the console. - Decide on
Config.GlobalContent. On (the default), everyone allowed into the studio sees and edits every design, item and outfit. - Keep
shared/keys.luaprivate. It holds your Gemini key, your Fivemanage token and your webhook. Empty it before handing your files to anyone. - Check who has
mic_clothdesigner. With a Gemini key set, every AI generation is billed to you.