Skip to content

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.


You needWhy
oxmysql, runningDesigns, items and outfits are stored in the database
ox_libThe 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

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.


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.


Two separate groups of lines, in two places.

Near the top of server.cfg, above every ensure:

  • give the resource mic_cloth_designer the ACEs command.refresh, command.ensure, command.start and command.stop (four add_ace resource.mic_cloth_designer … allow lines) — the studio restarts mic_cloth_addons itself after you export a garment;
  • add the filesystem permission that lets mic_cloth_designer write into mic_cloth_addons (add_filesystem_permission mic_cloth_designer write mic_cloth_addons);
  • give whoever should use the studio the ACE mic_clothdesigner — for example to group.admin, or to one person’s identifier.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.


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.

KeyWhat it doesNeeded
GeminiAPIKeyThe AI texture generatorOnly for AI. Empty = the AI tool is off
FivemanageTokenHosts design and item photosRecommended. Empty = photos are kept in the database
DiscordWebhookLogs each AI generation with its estimated costOptional
ClothNetworkKeyLeave empty. The Cloth Network works without itNo

One generic item carries every design: cloth_design (the name is Config.Items.Name in shared/config.lua).

ItemWhat it does
cloth_designWears the design stored on it; use it again to put back what you had on

The definitions ship in mic_cloth_designer/items/:

FileFor
items/ox.luaox_inventory — goes in ox_inventory/data/items.lua
items/qb.luaQBCore — 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.


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.


Restart the whole server, not just the resource: GTA reads clothing data when the server boots.

  1. In game, type /clothdesigner.
  2. 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.


  • Turn Config.Debug off in shared/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.lua private. 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.