QBox vs QBCore: what is different, and should you switch?
QBox vs QBCore comes up as soon as you look at modern FiveM scripts. QBox (qbx_core) started as a fork of QBCore and keeps a compatibility bridge, so most QBCore resources still run. Under the hood it moves to Overextended's ox libraries and changes how items and inventories work. Here is what that means for your server.
The short answer
New server and happy to use ox_inventory, ox_lib and ox_target? QBox is a good default. Running a QBCore server with many scripts that depend on qb-inventory, qb-target or qb-menu? Staying on QBCore is less work, at least until those scripts have ox or QBox versions.
Where QBox comes from
QBox is maintained by its own community of contributors and documented at docs.qbox.re. It refactors core resources for code quality, security and performance, and uses existing open-source projects (the ox libraries) instead of its own replacements.
Key differences
| QBCore | QBox | |
|---|---|---|
| Core resource | qb-core | qbx_core |
| UI and helpers | qb-menu, qb-input, own notifications | ox_lib |
| Inventory | qb-inventory (default) | ox_inventory |
| Items defined in | qb-core/shared/items.lua | ox_inventory/data/items.lua |
| Targeting | qb-target | ox_target |
| Multiple jobs | Through extra scripts | Built into qbx_core (via its exports) |
Will my QBCore scripts work?
QBox ships a bridge that supports documented qb-core usage, so most QBCore scripts work unchanged. According to the QBox documentation, these need attention:
- Scripts that read or write qb-core's database tables directly.
- Scripts that load qb-core's internal files.
- Scripts built around qb-inventory, qb-target or qb-menu.
- Multijob scripts that do not use qbx_core's exports.
Migration checklist
- Back up the database and the whole server folder.
- Test on a copy of the server, never on the live one.
- Move item definitions to ox_inventory (QBox converts the old items file for you to review).
- Replace qb-target, qb-menu and qb-input usage with ox_target and ox_lib, or use versions of those scripts that support QBox.
- Start every script and walk through each job before switching players over.
Which to choose
Both are free, and both have txAdmin recipes. If you are still deciding between frameworks in general, read ESX vs QBCore first; to get a server running today, follow how to set up a QBCore server (the steps are the same with the QBox recipe).