# Fix ESX Multicharacter Problems (/docs/getting-started/multicharacter-troubleshooting)

When **`esx_multicharacter` does not open**, characters are missing or selection shows a black screen, inspect the client F8 console and server console first. The interface needs both its NUI frontend and database-backed character information.

## 1. Verify startup dependencies [#1-verify-startup-dependencies]

The current `esx_multicharacter/fxmanifest.lua` declares `es_extended`, `esx_context`, `esx_identity` and `esx_skin` as dependencies. It also imports `esx_lib`; the core uses `oxmysql` for the database.

Ensure every resource exists with its `fxmanifest.lua` directly inside its folder. Check the [server.cfg guide](/docs/getting-started/server-cfg) for correct startup.

## 2. Fix a blank screen or NUI timeout [#2-fix-a-blank-screen-or-nui-timeout]

The current client script waits for the `nuiReady` callback and reports **`NUI Failed to load after 10000ms`** if the interface fails to respond.

1. Open **F8** in game and find the earliest error.
2. Confirm `esx_multicharacter/web/build` files were deployed.
3. Check the `ui_page` path and `files` in the resource manifest.
4. Temporarily disable conflicting third-party character-selection, spawn and loading-screen scripts.
5. Test with an unchanged official resource before editing its UI.

## 3. Characters not appearing [#3-characters-not-appearing]

ESX multicharacter uses identifier prefixes such as `char1:...`. If you migrated databases, verify that the player identifiers and the `users` table still match.

- Check that `oxmysql` connects to the intended database.
- Verify existing identifiers without exposing them publicly.
- Compare backup records before changing any identifiers.
- Test a new player on a staging server to separate migration from startup issues.

See [ESX database schema](/docs/guides/database-schema).

## 4. Config keys actually used [#4-config-keys-actually-used]

| Key | Current source behavior |
| --- | --- |
| `Config.Slots` | Default 3 character slots |
| `Config.Prefix` | Character identifier prefix, default `char` |
| `Config.Relog` | Enables the `/relog` command |
| `Config.CanDelete` | Controls character deletion |
| `Config.Spawn` | Client-side selection scene location |

## 5. Relog failures [#5-relog-failures]

With `Config.Relog = true`, the client calls the `esx_multicharacter:relog` callback. F8 logs include **`[esx_multicharacter] Relog failed`** with a reason when it fails. Inspect the callback, conflicting scripts and the current player lifecycle before retrying.

## Related [#related]

- [esx_multicharacter reference](/docs/core/esx_multicharacter)
- [esx_identity reference](/docs/core/esx_identity)
- [General ESX troubleshooting](/docs/getting-started/troubleshooting)
- [Database schema](/docs/guides/database-schema)
