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')
endox_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
Porting QBCore scripts isn't cosmetic
Drop-in compatibility with QBCore is overstated. A QBCore script using QBCore.Functions.GetPlayer doesn't run unmodified on QBox — exports.qbx_core:GetPlayer is the entry point and Player.Functions calls have shifted shape. Plan port time per script, not for the catalog as a whole.
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.
Quasar Academy support for QBox
First-class support
Quasar Academy 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?
- Some will, with minimal changes. Many won't without a port pass. Don't budget a QBCore → QBox migration as a one-day swap; budget per-script port time and assume your largest scripts take a multi-day refactor each.
- 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 Quasar Academy 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.