Migrating from HELIX 2
What changed from HELIX 2 (QBCore/Lua, FiveM-style RP servers) to HELIX 3, what's deprecated, and how old concepts map to the new unified SDK.
HELIX 3 is a new product, not an iteration of HELIX 2. If you built on HELIX 2 — QBCore/Lua scripts, FiveM-style roleplay servers, the Lua API or HelixJS — this page explains what carries over and what doesn't.
This is the only place HELIX 2 lives
The rest of these docs describe HELIX 3 only. HELIX 2 (QBCore, the Lua class API, Creator Kit, Blueprint-as-primary) is being wound down. Treat it as legacy; build new worlds on the unified SDK.
What changed at the top
| HELIX 2 | HELIX 3 |
|---|---|
| Two siloed scripting layers (Lua API and HelixJS) with no shared model | One unified SDK: an engine-agnostic Platform API + per-runtime SDKs that mirror it 1:1 |
| QBCore/Lua FiveM-compat framework as a first-class surface | Removed. QBCore is legacy; not part of HELIX 3 |
| Engine-specific, UE5-centric (Creator Kit, Blueprint-first) | Engine-agnostic. Web is canonical; Unreal mirrors it |
HInventory (placeholder), ad-hoc persistence | First-class Inventory + Cloud Save / Memory Store |
helixId mentioned but never explained | Full Authentication & Identity model |
Concept mapping
| HELIX 2 | HELIX 3 |
|---|---|
HPlayer, helixId | Helix.auth / Helix.profile |
Lua TriggerServerEvent / HelixJS Helix.endpoint() | Helix.network (send / broadcast / request) |
Lua Database, HPlayer:SetValue/GetValue, HelixJS State | Cloud Save (durable) + Memory Store (volatile) |
HInventory (unfinished) | Helix.inventory + Universal Item Contract |
| In-world purchases (concept only) | Helix.wallet / Helix.marketplace |
| WebUI bridge (Lua/JS ↔ HTML) | Helix.ui + standard web UI in the web runtime |
| QBCore packages (qb-inventory, qb-banking, …) | Community packages on top of the Platform API — not core docs |
What's deprecated
- QBCore / FiveM compatibility layer — entirely.
- The HELIX 2 Lua class API (
HVehicle,HCharacter, etc. as documented in HELIX 2) — replaced by the unified SDK surface. - Creator Kit and the UE5-as-primary workflow — superseded by HELIX Studio and the Native SDK.
- Point-in-time migration guides (e.g. 5.5→5.7) — no longer relevant.
What carries over (conceptually)
- The client/server authority model — now formalized as the golden rule.
- Packages & the Vault distribution idea — now built on the Platform API.
- The LIX economy — now a first-class, server-authoritative API.
How to move a world
Re-target the runtime. Pick Web or Native. Most HELIX 2 worlds were UE5 — Native is the closest home, but consider Web for reach.
Replace the data layer. Move ad-hoc Lua/SQLite persistence to Cloud Save (durable) and Memory Store (transient).
Rewrite events against Helix.network (web) or Unreal replication
with HELIX wrappers (native).
Move value logic server-side. Anything QBCore did client-side for money/items must become server-authoritative under the Inventory tiers.
Start from a template (helix create --template ...) rather than porting file by file — the shapes
are different enough that a fresh scaffold is usually faster.