ESX Legacy Core Resources
ESX splits its resources across two repositories. Knowing which is which saves a lot of searching.
The esx_core monorepo
esx-framework/esx_core holds the
[core] folder — the framework and the resources it depends on.
| Resource | Purpose |
|---|---|
es_extended | The framework core |
esx_lib | Shared library used across the core resources |
esx_inventory | Bundled inventory |
esx_identity | Character identity registration |
esx_multicharacter | Character selection |
esx_skin | Appearance editing |
skinchanger | Ped component and prop manipulation |
esx_context | Context menus |
esx_menu_default | Classic list menu |
esx_menu_dialog | Text input dialog |
esx_menu_list | Scrollable list menu |
esx_notify | Notifications |
esx_progressbar | Progress bars |
esx_textui | On-screen text prompts |
esx_loadingscreen | Loading screen |
esx_chat_theme | Chat styling |
cron | Scheduled task runner used for paychecks and cleanup |
esx_whitelist | Identifier and Discord-role whitelist with an in-game admin panel |
esx_whitelist ships with Config.Whitelist.Enabled = false, so every player
can connect until you enable it in config/main.lua. Discord mode reads the bot
token from set discord:botToken "..." in server.cfg (use set, never
setr, so the token stays server-side).
The repository also ships a [SQL] folder (only legacy.sql) and a reference server.cfg. Start
order matters: oxmysql, then esx_lib, then es_extended, then [core].
The addons repository
esx-framework/ESX-Legacy-Addons
holds the [esx_addons] folder — the gameplay.
Jobs
esx_policejob, esx_ambulancejob, esx_mechanicjob, esx_taxijob,
esx_jobs, esx_joblisting, esx_service and esx_billing.
esx_service is the on-duty system the job resources share; esx_joblisting is
the job centre players use to change jobs.
Economy and society
| Resource | Purpose |
|---|---|
esx_banking | Bank UI and transfers |
esx_society | Society (job-owned) accounts and boss menus |
esx_addonaccount | The account backend societies are built on |
esx_addoninventory | Shared job inventories |
esx_datastore | Generic key-value storage for jobs and players |
esx_shops | Retail shops |
esx_weaponshop | Weapon retailers |
esx_vehicleshop | Vehicle dealerships |
esx_lscustom | Vehicle customisation |
esx_addonaccount and esx_addoninventory are dependencies of most job
resources. If a job’s boss menu shows an empty balance, one of these is usually
missing.
Player systems
esx_basicneeds (hunger and thirst), esx_optionalneeds, esx_status (the
status backend both build on), esx_license, esx_dmvschool, esx_property,
esx_garage, esx_accessories, esx_clotheshop, esx_barbershop,
esx_animations, esx_hud, esx_scoreboard, esx_rpchat, esx_cruisecontrol,
esx_boat, esx_drugs and esx_adminmenu.
esx_status is the framework other need systems register against. Removing it
breaks esx_basicneeds, the death system and any third-party script that reads
a status value.
Other official repositories
- esx-recipes — the txAdmin
recipe and reference
server.cfg - esx-legacy-snippets — official code snippets
- ESX-Legacy-Seasonal — holiday and event resources
Common community replacements
| Default | Frequently replaced with |
|---|---|
esx_inventory | ox_inventory |
esx_menu_* | ox_lib menus and dialogs |
| — | ox_target for third-eye interaction |
esx_property | A paid housing script |
Swapping the inventory means converting the item database and auditing every
resource that calls addInventoryItem. Do it before launch.
Paid replacements are listed, among other stores, under ESX scripts on RPScripts . RPScripts and FiveM Docs are operated by the same owner. Check each listing’s declared ESX Legacy version and dependencies before buying.
Next steps
- ESX structure — the API these resources use
- Finding resources — vetting third-party scripts
- ESX Framework website →