Multicharacter
Framework Setup
Framework-side changes SC Multicharacter needs on ESX, QBCore, Qbox, and ox_core.
The framework is detected in this order: ox_core, qbx_core, qb-core, es_extended.
If auto-detection picks the wrong one, set it in config/core.lua:
Config.Framework = 'esx'Available values: 'auto', 'esx', 'qbcore', 'qbox', 'ox'.
Multichar in es_extended
Set this in es_extended/shared/config/main.lua:
Config.Multichar = trueWithout it, ESX refuses to load the character and the player sees ESX Multichar is disabled.
Character identifier
Keep this in config/core.lua:
Config.CitizenIdPrefix = 'char'ESX natively has one character per account. With 'char', each character uses char<N>:<license>, exactly like esx_multicharacter. Existing characters show up right away.
| Value | Meaning |
|---|---|
'char' | Multiple characters, char1:abc.... Recommended. |
'license' | One character, license:abc... |
'none' | One character, the license hash only |
Columns
Identity data goes to the standard esx_identity columns in users: firstname, lastname, dateofbirth, sex, and height.
Nationality is saved in metadata. Missing columns are added automatically.
Starting money and job
On ESX, starting money comes from Config.StartingAccountMoney in es_extended, not from this resource.
Required changes
Stop or remove qb-multicharacter. Nothing else is needed.
Characters are saved in players. Identity data, including nationality, goes to charinfo.
Starting money and job
These come from QBCore.Config.Money.MoneyTypes and Config.Player.PlayerDefaults.job in qb-core.
Every money type defined in qb-core is added to a new character, including your custom ones.
Required changes
Enable external characters in qbx_core/config/client.lua:
characters = { useExternalCharacters = true,}This stops qbx_core from opening its own character select.
The player identifier is license2 with a fallback to license, the same as in qbx_core.
Starting money and job
These come from money.moneyTypes in qbx_core/config/server.lua.
Required changes
Stop or remove ox_multicharacter and any other ox_core character select.
Characters are saved in the ox_core characters table. The nationality, height, and weight columns are added to it.
ox_core creates the inventory through its own ox_inventory bridge, so Config.Inventory is skipped.