Skip to main content
All frameworks
Full Academy supportFast-growing

QBox (qbx_core) on FiveM, Compatibility, APIs, and FiveM Coach Coverage

Performance-first QBCore fork, ox_lib + ox_inventory required, leaner core.

Released
2023
Maintainer
Qbox Project
Player API
exports.qbx_core:GetPlayer(source) → Player
Default inventory
ox_inventory (required)
Database
oxmysql (required)
UI system
ox_lib (required), context menus, inputs, notifications

What it is

QBox (technically qbx_core) is a 2023-era fork of QBCore that made breaking changes its core team considered overdue: ox_lib and ox_inventory became required dependencies rather than optional, the Player object API was tightened, and a number of legacy patterns were dropped to reduce surface area. The result is a leaner, more opinionated core at the cost of dropping compatibility with QBCore-only resources that haven't been ported.

The QBox stance is essentially: "the ecosystem already standardized on Overextended's libraries (ox_lib, ox_inventory, oxmysql, ox_target). Stop pretending those are optional. Build the core around them." That decision makes QBox feel cleaner to write against, but means a QBox server is best built with QBox-native or actively-ported scripts rather than vanilla QBCore stock.

For greenfield 2025-2026 servers with no legacy script catalog to drag along, QBox is a serious starting point. For servers with a substantial QBCore script library that hasn't been ported, the migration cost is real, see /compatibility/qbcore-vs-qbox.

When to choose QBox

  • You're building a new server in 2025-2026 and want the most modern, opinionated base.
  • You're already committed to ox_lib + ox_inventory + ox_target as your library stack and don't want a core that pretends otherwise.
  • You value framework leanness over framework feature breadth (smaller surface = fewer footguns).
  • Your script-buying decisions can be filtered to QBox-compatible or actively-ported titles only.

Version timeline

qbx_core initial release

2023

Fork from QBCore with ox_lib + ox_inventory required.

Stabilization (2024)

2024

Resource ecosystem grew, qbx_* parallel resources matured.

QBox today

2026

Production-ready for greenfield, ongoing port work for popular QBCore resources.

Signature code patterns

Get a player and add money

local Player = exports.qbx_core:GetPlayer(source)
if Player then
  Player.Functions.AddMoney('cash', 500, 'gift-from-admin')
  exports.qbx_core:Notify(source, 'You received $500', 'success')
end

ox_lib context menu (idiomatic QBox UI)

lib.registerContext({
  id = 'shop_menu',
  title = 'Buy something',
  options = {
    { title = 'Bread', description = '$5', onSelect = function() buy('bread', 5) end },
    { title = 'Water', description = '$3', onSelect = function() buy('water', 3) end },
  },
})
lib.showContext('shop_menu')

Common pitfalls

Know what the qb-core bridge does and doesn't cover

Qbox ships a built-in qb-core compatibility bridge (enabled by default via the qbx:enablebridge convar), so most QBCore scripts run on Qbox with zero changes — exports['qb-core']:GetCoreObject() returns a QBCore-compatible object. The exceptions are scripts that bypass the documented qb-core API: those that read/write the database tables directly or reach into qb-core internal files. For those, plan a port pass. Natively, Qbox uses exports.qbx_core:GetPlayer.

ox_inventory metadata enforcement

ox_inventory enforces a stricter metadata schema than qb-inventory. Items that worked under qb-inventory with loose metadata (random keys, mixed types) will fail validation. Audit your item definitions before launch.

ox_lib version drift

QBox, ox_inventory, ox_target, and your scripts may pin different ox_lib minimums. Always run the highest required ox_lib version across the server; downgrading to satisfy an older script silently breaks newer ones.

FiveM Coach by Quasar support for QBox

First-class support

FiveM Coach by Quasar supports QBox as a primary framework target. Elite code review covers qbx_core patterns and ox_lib idioms; the Developer path's milestone work can target QBox specifically.

Common questions about QBox

Is QBox just QBCore with breaking changes?
Roughly, yes, that's the honest framing. QBox forked QBCore to enforce ox_lib + ox_inventory and drop a set of legacy patterns its maintainers considered debt. Whether the breakage is worth the leanness is the choice you're making.
Will my QBCore scripts run on QBox?
Most will, unmodified, thanks to Qbox's default-on qb-core bridge. The ones that need a port are scripts that touch the database directly or reach into qb-core internals instead of using the documented API. Budget port time for those specific scripts, not for the whole catalog.
Should new servers pick QBox over QBCore in 2026?
If you have no legacy script catalog and want the most modern base, yes. If you have a working QBCore catalog that meets your needs, the migration cost will outweigh the technical gains. See /compatibility/qbcore-vs-qbox.
Does FiveM Coach by Quasar ship QBox-specific code review?
Yes. Elite weekly review covers QBox idioms (qbx_core entry points, ox_lib UI patterns, ox_inventory metadata schema). Tell us in onboarding that QBox is your target.
Can QBox and QBCore run on the same server?
No, both register a 'core' role. Pick one core. You can mix per-script library usage (a script can use ox_lib and qb-target side by side) but not two parallel cores.

Compare QBox head-to-head

Or read about another framework

Going deeper

Want code review on your QBox project?

FiveM Coach by Quasar Elite puts the Store team in your weekly review. Bring real QBox code; leave with a working pattern.