What goes wrong most often, what it actually means, and what to do about it. Almost all of these are answered by reading the server console from the top of the start — Appearance says what it loaded, what it created and what it seeded.
Installation and Access#
The resource errors out on start
Look for this line in the console:
[INFO] Successfully loaded the framework. esxIf it is missing, no framework was found and the resource stops — there is no standalone mode. Detection only sees resources that are already started, so es_extended, qb-core or qbx_core must be ensured before qs-appearance in server.cfg. The same goes for oxmysql and ox_lib.
The interface is blank, or images do not load
The folder has been renamed. It must be exactly qs-appearance: the interface loads its own artwork over nui://qs-appearance/, and every export and event uses that name. The resource checks it on start and refuses to run under anything else.
If the window opens but the clothing squares are empty, that is a different problem — see Catalogue images are missing below.
The creator says I have no permission
The admin check is your framework's own, and it is strict about which one:
ESX — the player's group must be exactly admin or superadmin. A custom group name will not pass.
QBCore and Qbox — the god or admin permission, or the command ace.
Being a server owner in FiveM's own sense is not enough on ESX. Check which framework was actually detected first — if the wrong bridge loaded, it is checking the wrong thing.
Everyone's outfits and skins vanished after I installed it
[sql]/main.sql opens with DROP TABLE for player_outfits, playerskins, clothing_player_outfits, clothing_job_outfits and management_outfits. Importing the whole file on a server that already had QBCore skins or outfits deletes them.
Restore from your backup, then import only the CREATE TABLE statements for the tables you were actually missing. This is also the usual reason outfits disappear during a migration from illenium-appearance, which stores them in player_outfits.
Shops and the Menu#
No prompt when I stand in a shop
Three causes, in the order they are worth checking.
Config.UseTarget is true but no target resource is running. Either start ox_target or qb-target, or set it back to false for the zone prompt.
A target resource is present on disk but stopped. Detection accepts it as the backend anyway and then finds it is not running, which leaves no interaction at all. Delete the folder of the target you do not use rather than stopping it.
Turn on Config.ZoneDebug to draw the zone and confirm you are actually standing inside it.
Tattoo shops do nothing
Config.RCoreTattoosCompatibility is on. It is set automatically when a third-party tattoo resource is found running at start, and while it is on, tattoo zones, blips and targets are all suppressed on purpose so that the other script owns the feature end to end.
If you want Appearance's own tattoo shops back, force the value to false in config/main.lua.
I cannot create a shop zone
A zone needs at least four points and a perimeter of at least Config.MinPointLength, which is 70.0 by default — a small boutique interior can genuinely fall under it. Lower the value or draw a wider outline.
A point that lands inside an existing shop is rejected too; zones may not overlap. The name must be 4 to 16 characters.
A shop sells nothing, or everything is Out of stock
Stock was saved for that shop. It is stored per shop and per ped model, so a shop can look full on one ped and empty on another. Walk in as an admin, open Admin → Stock and check that ped model, or clear the stock to put the whole catalogue back.
My shop was deleted but players can still use it
Shops created in the creator live in the database and sync live. If a zone keeps coming back after a restart, it is being written by something else — check that nothing is still populating Config.Stores by hand. That table is filled automatically at runtime and editing it has no effect.
Clothing, Photos and Packs#
Catalogue images are missing
Open the F8 console in game and look for a 404. The shipped catalogue points at Quasar's CDN and needs nothing from you, so a 404 on a shipped row usually means the row was edited or re-seeded with a bad address.
For clothing you photographed yourself, the address points at your own FiveManage account. A wrong or revoked token, or an image deleted there, breaks it — and re-photographing an item does not remove the old upload.
Photo capture refuses to start
It needs three things at once, and the overlay names the one that is missing:
Config.ImageSaver.enable set to true — with it off, the capture buttons are greyed out everywhere.
screenshot-basic started, or the console loops an error.
greenscreen-map started — the studio the capture teleports to.
If the console is spamming an error about an empty token every few seconds, fill in Config.FiveManageToken or turn the image saver off.
Capture stopped partway and says to leave the server
That is the per-join cap of 1,000 photos, and it is working as intended. Everything taken so far is saved. Leave the server, reconnect, and run the same selection again with Skip already captured photos ticked — it picks up where it stopped.
The same advice applies to the stalled-uploads message. Restart the resource once the whole run is finished.
The photos came out dark, washed out or inconsistent
Capture photographs what your client renders, so your graphics settings end up in the catalogue. Set Ambient Occlusion off and Post FX to Normal before a run.
Time and weather matter too. Appearance freezes them if it recognises your weather resource; if it does not, freeze them by hand or a long run will drift from daylight to dusk.
Some items are reported as unusable, or look empty when worn
The pack declares the garment but ships no model for it, so the game cannot wear it and there is nothing to photograph. Confirm it with the Wear button in the Catalog Editor: if it does not appear on your character there either, the pack is broken and only its author can fix it.
Config.ImageSaver.brokenSlotDetection decides what happens to those. It ships set to skip; set it to report first if you want to see how many there are.
The Clothing Packs tab is not in the creator
The tab hides itself when all of Config.AddonCapture.enabled, Config.ClothingReplace.enabled and Config.ClothingScan.enabled are off. Turn on the one you need. Addon photo capture additionally needs Config.ImageSaver.enable.
Sleeves and hands do not match the jacket
That top has no hand mapping. The shipped catalogue has 7,568 of them, so this is always a garment you added. Walk into a shop as an admin, open Admin → Top → Hands, pick the top and the hand category that suits it, and save.
If there are no hand categories to pick from, create them first in the creator's Glove Categories tab — and that needs component 3 photographed before it has anything to show.
My prices and labels reverted after an update
Expected, and worth planning around. The catalogue seed is an upsert across every shipped row, so when its version changes it rewrites the price, label, photo and flags of shipped items, and the 29 shipped stores.
Two things are protected by name: peds you hid, and photos you captured yourself. Player data is never touched. Rows for clothing you added yourself are not in the seed and survive — so if you reprice heavily, prefer your own collections, or keep the SQL to reapply your prices.
Outfits and Saved Appearances#
Outfits do not save, or do not come back
The player tables are not created automatically. If player_outfits and playerskins do not exist, saving fails with an SQL error in the console. Import them from [sql]/main.sql — carefully, because that file drops before it creates.
Job outfits throw an SQL error
Clothing rooms read a management_outfits table. QBCore servers already have it; a fresh install does not, and nothing shipped creates it. Create it before you start handing out uniforms.
All my characters share one appearance
Appearance keys everything on the identifier your framework gives it. QB citizenids and ESX multicharacter prefixes are per character, so they work. A plain ESX install that keys users on the raw license hands every character the same identifier, and nothing in Appearance can tell them apart. Fix it in your framework, not here.
A player is stuck with a prop, or the wrong clothes
/clearstuckprops deletes every prop attached to their ped, and /reloadskin re-applies their saved appearance. Both are available to any player and both are refused while they are dead, in a vehicle or falling.
If another resource is also dressing the player, the two will overwrite each other. Have it listen for appearance:handleClose instead of applying clothes on its own timer.
Tattoos disappear when another script runs
Applying tattoos means clearing every decoration on the ped and putting the saved ones back, so any script that paints its own decorations loses them at that moment.
The fix is one event. Appearance fires qs-appearance:client:tattoosApplied straight after every rebuild; re-add your decorations there, and do not call ClearPedDecorations yourself. This is how qs-tattoo-creator coexists with it.
Shots are not landing on tall or short players
GTA does not scale a ped's bullet hitbox with its model, so the further a character is from normal height, the worse shots register. That is why Config.EnableScale ships off and is marked experimental.
If you want to keep it, tighten Config.Scale.min and Config.Scale.max until the gap stops being noticeable.
Before Opening a Ticket#
Three things make a clothing ticket answerable in one reply instead of five:
The server console from the top of the start, including the framework line and the schema and catalogue seed lines.
The F8 console in game, if the problem is something you can see on screen.
Your framework, your target, and whether Config.UseTarget, Config.ImageSaver.enable and Config.Debug are on.
Turn Config.Debug off before you decide something is broken — it prints a great deal and makes a healthy server look alarming. Turn it back on, with the console in front of you, when you are chasing a specific problem.



