Frameworks and appearance
How Multicharacter picks the framework and appearance system, where character data is read, and how to plug in another framework.
Framework detection
With Config.Dependencies.Framework = 'auto', the resource picks the first running framework in this order: Qbox (qbx_core), QBCore (qb-core), ESX (es_extended). The chosen framework shows in the console at startup. To force it, replace auto with qbx, qb or esx.
Where the data lives
| ESX Legacy | QBCore and Qbox | |
|---|---|---|
| Characters | users table |
players table |
| Appearance | users.skin |
playerskins table |
| Nationality | multicharacter_characters table |
in charinfo |
| Height | users.height |
multicharacter_characters table |
The multicharacter_characters table also stores playtime and last login date. Playtime starts counting at installation.
Existing characters
- From esx_multicharacter: keep
ServerConfig.ESX.Prefix = 'char', characters stay on their slot. - From qb-multicharacter: nothing to do.
- From the Qbox selection: enable
useExternalCharacters(see Installation).
Characters picked up without a nationality or height show the defaults from Config.Identity.
After choosing a character
The screen fades to black, the appearance is applied, the player is placed at the chosen point, then your framework’s usual events fire (esx:onPlayerSpawn, QBCore:Client:OnPlayerLoaded…). Your HUD, phone or job scripts therefore start normally.
Appearance systems
With Config.Dependencies.Appearance = 'auto', the resource picks in this order:
- illenium-appearance;
- fivem-appearance;
- esx_skin (with skinchanger) or qb-clothing.
Without an appearance system, new characters keep the default ped.
At creation, the full editor opens right after spawning. The Appearance button spawns the character then opens the editor, which the player can leave without saving.
Plugging in another framework
The bridge/ files can be edited. Two empty templates are supplied:
bridge/framework/custom/for a framework, enabled withConfig.Dependencies.Framework = 'custom';bridge/appearance/custom.luafor an appearance system, enabled withConfig.Dependencies.Appearance = 'custom'.
The functions to write are listed in API and hooks. The supplied ESX, QBCore and Qbox bridges are good examples.