BUPA Multicharacter
BUPA Multicharacter
BUPA Multicharacter is a cinematic character selector for ESX, QBox, and QBCore. Instead of a flat list of save slots, every character is presented as a live, filmic showcase scene — the ped stands (or sits) in a hand-picked Los Santos location, an orbiting camera frames them, and the player's chosen entry song plays with time-synced lyrics floating behind the 3D character. The entire interface is a single React UI, fully localized into 31 languages.
Everything the player sees on the selector — the showcase location, the camera style, the entry music, the color filter, the weather and time — is driven from settings/options.lua and settings/scenes.lua, and a large part of it is also adjustable live by each player from the in-UI settings panel. Read the actual config before you go live; the shipped values are examples.
Key features
| Feature | What it does |
|---|---|
| Cinematic showcase scenes | Three camera modes per location — orbit, seated "bar" scene, and a fully manual camera with custom coords, FOV, focus offset and depth-of-field blur. |
| Per-character entry music + synced lyrics | Players search YouTube inside the UI, pick a song, and it autoplays (via xsound) whenever that character is shown, with LRC lyrics pulled free from lrclib and floated behind the ped. |
| Flexible spawning | Built-in spawn picker, hand-off to a detected spawn resource, or straight-to-last-location — plus optional apartment-inside start for brand-new characters. |
| Validated character creation | First/last name, date of birth (with year bounds), height, backstory and nationality of origin are all validated server-side. |
| Partner (CP / BFF) pairing | A confirmed partner appears standing beside your character on the selector. Invites are sent from the character-selector menu. |
| Custom badges | A per-character icon + short label shown on the selector card. |
| Per-player settings | Blur, FPS mode, cinematic bars, camera distance, idle animation, posture, weather, time and color filter — each remembered per player. |
| Slots + Tebex import | A configurable default slot count, plus optional bonus slots from Tebex packages, per-license grants, or Discord roles. |
| Discord logging | Per-event webhooks for play, logout, character create/delete, exploit attempts and Tebex redemptions. |
| Crash prevention | Pre-streams the freemode peds to avoid the .ymt streaming-limit crash, and auto-repairs corrupt saved ped models before they can crash the real character load. |
Frameworks
BUPA Multicharacter auto-detects your framework at runtime through interchangeable bridges in core/frameworks/ — no manual switch:
- ESX (
es_extended) - QBox (
qbx_core) - QBCore (
qb-core)
The correct bridge prints its name to the server console on start (e.g. framework bridge: QBox). The bridge files are escrow_ignored, so you can extend or add framework support yourself.
Dependencies
| Resource | Required? | Purpose |
|---|---|---|
| ox_lib | Required | Callbacks, notifications, locales, KVP helpers, commands. |
| oxmysql | Required | Character, slot and skin persistence. |
| OneSync | Required | Declared in the manifest (/onesync). |
| xsound | Optional | Character-screen music playback. Without it, search, song selection and the lyrics UI still work — there is simply no audio. |
| jg-hud | Optional | If started, the selector toggles it through jg-hud's export instead of the native HUD/radar. |
| qb-weathersync | Optional | Disabled/enabled while the selector locks the weather and time. |
Apartment and spawn resources (qb-apartments, qbx_apartments, ps-housing, 0r-apartment, qbx_spawn, qb-spawn) are optional and only used when the matching spawn mode is enabled — see the Spawning page.