Skip to content

Reference / fxmanifest.lua

fxmanifest.lua reference.

Every FiveM resource starts with an fxmanifest.lua in its root folder. It tells the server which scripts run where, which files go to players and what each meta file is. Here is what each common line does.

Build one with a form · Check an existing one

Last updated

A working example.

An addon car pack with its three meta files.

fx_version 'cerulean'
game 'gta5'

name 'my_cars'
version '1.0.0'

files {
    'data/vehicles.meta',
    'data/carvariations.meta',
    'data/handling.meta',
}

data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'
data_file 'HANDLING_FILE' 'data/handling.meta'

Directives.

DirectiveExampleWhat it does
fx_versionfx_version 'cerulean'Required. The manifest version. Use cerulean for new resources; bodacious and adamant are older.
game / gamesgame 'gta5'Required. The game the resource runs on: gta5, rdr3, or common for both. games takes a list.
lua54lua54 'yes'Deprecated. Every Lua script runs on Lua 5.4 since June 2025, so new resources can leave it out. Older manifests still carry it and it does no harm.
author, description, versionversion '1.0.0'Metadata shown by tools. The server does not need them.
client_script(s)client_scripts { 'client/*.lua' }Scripts that run on each player's game. Globs such as client/*.lua work.
server_script(s)server_scripts { '@oxmysql/lib/MySQL.lua', 'server/*.lua' }Scripts that run on the server only. Players never download them.
shared_script(s)shared_scripts { '@ox_lib/init.lua', 'config.lua' }Scripts that run on both sides, loaded before client and server scripts.
filesfiles { 'html/**', 'data/*.json' }Files sent to players that are not scripts: NUI pages, images, JSON, and meta files a data_file points to.
ui_pageui_page 'html/index.html'The NUI page the resource shows. The page and its assets must also be in files.
loadscreenloadscreen 'index.html'A loading screen page. Also list it in files.
data_filedata_file 'HANDLING_FILE' 'data/handling.meta'Tells the game what a meta file is. The file must also be listed in files.
dependency / dependenciesdependencies { 'ox_lib', 'oxmysql' }Resources that must be running first. The resource will not start without them.
provideprovide 'mysql-async'Says this resource stands in for another one, so its dependents still start.
this_is_a_mapthis_is_a_map 'yes'Marks a map resource so its streamed map files load like the game's own.

data_file types.

The types used most, with the file each one usually points at. Download: JSON · CSV

TypeFileFor
VEHICLE_METADATA_FILEvehicles.metaVehicles
HANDLING_FILEhandling.metaVehicles
VEHICLE_VARIATION_FILEcarvariations.metaVehicles
CARCOLS_FILEcarcols.metaVehicles
VEHICLE_LAYOUTS_FILEvehiclelayouts.metaVehicles
DLCTEXT_FILEdlctext.metaVehicles
WEAPONINFO_FILEweapons.metaWeapons
WEAPON_METADATA_FILEweaponarchetypes.metaWeapons
WEAPONCOMPONENTSINFO_FILEweaponcomponents.metaWeapons
WEAPON_ANIMATIONS_FILEweaponanimations.metaWeapons
PED_METADATA_FILEpeds.metaPeds
SHOP_PED_APPAREL_META_FILEa shop meta, e.g. mp_m_freemode_01_mypack.metaClothing
PED_FIRST_PERSON_ALTERNATE_DATAfirst_person_alternates.metaClothing
PED_OVERLAY_FILEtattoo overlays .xmlTattoos
TATTOO_SHOP_DLC_FILEshop_tattoo.metaTattoos
DLC_ITYP_REQUESTa .ytyp in stream/Props and maps
INTERIOR_PROXY_ORDER_FILEinteriorproxies.metaMaps
AUDIO_GAMEDATA<name>_game.dat151.rel, declared as <name>_game.datAudio
AUDIO_SOUNDDATA<name>_sounds.dat54.rel, declared as <name>_sounds.datAudio
AUDIO_SYNTHDATA<name>_amp.dat10.rel, declared as <name>_amp.datAudio
AUDIO_WAVEPACKa folder of .awc banksAudio

Questions.

Which fx_version should I use?
cerulean. It is the current version and the one new resources should declare. bodacious and adamant are older versions you still see in old resources.
Do files in stream/ need to be listed in the fxmanifest?
No. FiveM streams everything in a resource's stream folder on its own. You declare meta files, with a files entry and a data_file line. Prop packs often declare their .ytyp the same way, with DLC_ITYP_REQUEST.
What is the difference between fxmanifest.lua and __resource.lua?
__resource.lua is the old manifest name from before fx_version existed. New resources use fxmanifest.lua.
Why does my resource say it could not find a script?
A path in client_scripts, server_scripts or shared_scripts does not match a real file, often because of a typo or wrong folder. Rivo's free fxmanifest checker compares the manifest with the files and shows the line.