Installation
This page takes you from the downloaded archive to a running menu. If you already run illenium-appearance, you replace it — your players keep their skins and outfits.
Requirements
| Resource | Required | What it is used for |
|---|---|---|
| ox_lib | Yes | Callbacks, commands, notifications, menus |
| oxmysql | Yes | Skins, outfits and the koja_appearance_* tables |
| A framework | Yes | ESX (es_extended), QBCore (qb-core), QBox (qbx_core) or ox_core |
| screenshot-basic | Capture panel only | Taking the thumbnail shots |
| ox_inventory | No | Clothing as inventory items |
| ox_target or qb-target | No | Talking to shopkeepers through target. Without one, a floor marker is used |
| Fivemanage account | No | Hosting thumbnails instead of the shots/ folder |
Install
-
Put the resource in
Unpack the archive and name the folderresourcesillenium-appearance.
The folder name is the resource name, and exports are always registered under it. Other scripts callresources/ └── [koja]/ └── illenium-appearance/exports['illenium-appearance'], so a different name (for examplekoja-appearance) breaks them unless you change every call. Use the same name in the ox_inventory item and the ace lines below. -
Add it to
Start it after its dependencies and before the scripts that use it:server.cfgserver.cfgensure ox_lib ensure oxmysql ensure screenshot-basic ensure illenium-appearance -
Give admins access
The Capture panel,/pedmenu,/skinand/shoppedneed admin rights. A player is an admin when they have the ace inConfig.Koja.Capture.AdminGroup(defaultgroup.admin), or their framework group is inConfig.Koja.Capture.FrameworkGroups(admin,superadmin,owner,god,dev).The second line lets the resource grant the ace to the group on start — the same requirement as the upstreamserver.cfgadd_principal identifier.license:YOUR_LICENSE group.admin add_ace resource.illenium-appearance command.add_ace allow/pedmenu. -
Pick the language
Openshared/koja_config.luaand setConfig.Localeto a file name fromlocales/:The old convarshared/koja_config.luaConfig.Locale = "en"setr illenium-appearance:locale "xx"still wins when it is set. -
Restart the server
The threekoja_appearance_*tables are created when the resource starts. On ESX, oldesx_skin/skinchangerskins inusers.skinare converted on the same start (see Database).
Coming from illenium-appearance
Nothing in the database has to change.
Copy over the options you changed in the old shared/config.lua (stores, clothing rooms, outfits, blacklists) — the file has the same keys.
Changing the UI
The UI is shipped prebuilt in web/dist.
You only need Node and pnpm when you change the React source in web/src:
cd web
pnpm install
pnpm build
Restart the resource afterwards.
Check that it works

- Join the server and walk to a clothing shop. A clerk stands behind the counter.
- Talk to the clerk. The wardrobe hub opens; Change clothes opens the editor.
- As an admin, type
/pedmenu. The editor opens with the Admin Panel button in the top toolbar.
Next steps
- Configuration — branding, studios, shops, prices and capture.
- Capture panel — make the clothing thumbnails.
- Troubleshooting — if something above did not happen.