Choosing a FiveM Framework
Use the FiveM framework comparison for the feature tables, websites and source repositories. This page turns that research into a decision you can test before buying resources or moving player data.
Start from your scripts, not the framework
List the phone, inventory, jobs, garage, dispatch and character systems that your server actually needs. For each resource, record the supported framework version, required addons, inventory integration and where updates come from. Include free and custom resources, not only paid scripts.
A framework badge is not an acceptance test. For example, the Qbox FAQ documents a QBCore bridge but excludes some unsupported API usage and direct database access. The ND setup guide also exposes compatibility adapters. Evaluate those paths per resource; do not assume universal compatibility or that an adapter migrates your saved data.
Four questions that actually narrow it down
1. Are you starting fresh or inheriting a server?
For an existing server, document the current core, fork, database schema and custom changes. Read Framework migration before replacing it. Compare updating the existing stack against migrating it; preserving a working integration may be more valuable than adopting a different framework’s features.
2. What can your team build and maintain?
Separate resource programming from framework build tooling. For example, ox_core supports Lua and JavaScript/TypeScript integrations , and documents both a release download and a source build. A TypeScript-capable framework does not require every server resource to be TypeScript.
Ask who will diagnose errors, test upgrades and maintain adapters after launch. Choose a toolchain that person can operate, not merely one they can install once.
3. How much gameplay do you need to assemble?
Compare the deployment recipe and selected resources, not just the core. QBCore’s recipe assembles a resource collection; ESX core and addons are covered in our ESX resource guide; Qbox’s core includes features such as multicharacter and multiple jobs/gangs.
List what your chosen installation includes and what it does not. Where you replace a built-in feature, check how the original is disabled and whether the replacement is supported. Do not start two character selectors or competing inventory systems accidentally.
4. What does a realistic load test show?
There is no performance winner established by this guide. Use resmon for client resource inspection and the Cfx.re profiler to inspect client or server code paths in the appropriate context.
Test joins, character selection, inventory operations, jobs and vehicles with representative concurrency. Record the hardware and exact versions. Do not interpret a low idle client measurement as a promise of server capacity.
Shared dependencies do not make resources interchangeable
Qbox lists ox_lib, oxmysql and ox_inventory as dependencies . ox_core and ND Core document ox_lib and oxmysql as required, but ox_inventory as optional. The frameworks still have distinct player, account and integration APIs.
Learning shared tools is useful. It does not eliminate the need to verify each resource’s framework and inventory adapter.
Decision checklist
- Record the exact core repository, version or commit, and deployment recipe.
- List required resources and confirm their core, inventory and addon compatibility.
- Confirm who can maintain the chosen language, tooling and custom integrations.
- Check the database and server requirements in the current installation guide.
- Review release notes, unresolved issues and dependency maintenance, not only stars.
- Test character creation, purchases, inventory, jobs and vehicles on staging.
- Restart and reconnect; verify saved data and permissions still behave correctly.
- Profile representative load and record the environment alongside the results.
- Keep a tested backup and rollback plan before changing an existing server.
Record the decision
Keep this small Markdown record with your server configuration. Replace the placeholders with evidence from your staging test, not assumptions.
## Framework decision
- Core repository and version: <repository URL and tag or commit>
- Deployment recipe: <URL and revision>
- Why this fits: <required resources and developer experience>
- Compatibility evidence: <resource versions, adapters and completed test cases>
- Open risks: <unsupported integrations and who owns each one>
- Validation: <environment, load scenario and results>
- Rollback: <backup location and successful restore test date>Next steps
- Framework comparison — features, websites and repositories.
- QBCore community guides — a starting point for a QB-based shortlist.
- Finding resources — inspect the resources you plan to install.
- Framework migration — plan a move without risking production data.