Documentation
FiveM Resource Structure
fxmanifest.lua, the stream/ folder, and what FiveM needs to load.
FiveM loads resources from a folder (or ZIP) that must contain an fxmanifest.lua (or legacy __resource.lua) at the root. For a vehicle addon the minimal structure looks like this:
my_vehicle/
├── fxmanifest.lua
└── stream/
├── my_vehicle.yft
├── my_vehicle_hi.yft # high-LOD, optional but recommended
├── my_vehicle.ytd
├── vehicles.meta
├── handling.meta
├── carvariations.meta
└── carcols.metaA minimal fxmanifest.lua for a vehicle addon:
fx_version 'cerulean'
game 'gta5'
data_file 'VEHICLE_METADATA_FILE' 'stream/vehicles.meta'
data_file 'HANDLING_FILE' 'stream/handling.meta'
data_file 'VEHICLE_VARIATION_FILE' 'stream/carvariations.meta'
data_file 'CARCOLS_FILE' 'stream/carcols.meta'
files {
'stream/*.yft',
'stream/*.ytd',
}Forgetting to declare
data_file entries means the meta files are never loaded — the vehicle will spawn but may behave incorrectly or use default handling.Discussion