← BACK TO BLOG
March 19, 2026
ModWorks Team

How to Convert GTA V Mods to FiveM Resources

guidefivemfeatured

Why Conversion Is Needed

GTA V single-player mods and FiveM server resources use the same underlying file formats — YDR models, YTD textures, meta XML files — but they're packaged completely differently. Single-player mods are designed to be injected into RPF archives using tools like OpenIV or ModWorks. FiveM resources use a flat folder structure with a fxmanifest.lua file that tells the server what to load.

You can't just drop an RPF file into your FiveM server's resources folder and expect it to work. The files need to be extracted, reorganized, and given a proper manifest. This guide walks through the full process.

What You Need

  • The mod you want to convert (usually downloaded as an archive containing .rpf files, loose files, or a mix)
  • A tool that can open RPF files (ModWorks has a built-in RPF explorer and a dedicated RPF-to-FiveM converter)
  • A text editor for creating or adjusting manifest and meta files

Step 1: Identify What's in the Mod

Before converting, understand what the mod contains. Open the download and look for:

  • Model files (.ydr, .yft, .ydd) — The 3D models
  • Texture files (.ytd) — Texture dictionaries used by the models
  • Meta files (.meta) — XML configuration like vehicles.meta, handling.meta, carvariations.meta, carcols.meta
  • Audio files (.awc, .rel) — Custom sounds
  • RPF archives (.rpf) — Bundled archives that contain any of the above

If the mod came as an RPF, you'll need to extract everything out of it first. Open it in ModWorks' RPF explorer and extract the contents to a working folder.

Step 2: Create the Resource Folder Structure

FiveM resources follow a specific folder layout. Create a new folder with your resource name (lowercase, no spaces):

my-vehicle/
├── fxmanifest.lua
├── stream/
│   ├── vehicle_name.yft
│   ├── vehicle_name.ytd
│   ├── vehicle_name_hi.yft
│   └── vehicle_name+hi.ytd
└── meta/
    ├── vehicles.meta
    ├── handling.meta
    ├── carvariations.meta
    └── carcols.meta

stream/ — All binary assets (models, textures, collision files) go here. FiveM automatically streams these to clients when they're in this folder.

meta/ — Configuration files that define vehicle properties, handling, paint jobs, and lighting.

The folder names stream and meta aren't technically required by FiveM — you reference them in the manifest — but this convention is standard and keeps things organized.

Step 3: Write the fxmanifest.lua

Every FiveM resource needs a fxmanifest.lua at its root. This file tells the server what game version the resource targets and what files to load.

For a vehicle resource:

fx_version 'cerulean'
game 'gta5'

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

data_file 'HANDLING_FILE' 'meta/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'meta/vehicles.meta'
data_file 'CARCOLS_FILE' 'meta/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'meta/carvariations.meta'

The files block tells FiveM which files to send to clients. The data_file entries tell the game how to interpret each file. The data file type must match — using the wrong type silently fails.

Common data_file types you'll encounter:

TypeUsed For
HANDLING_FILEhandling.meta
VEHICLE_METADATA_FILEvehicles.meta
CARCOLS_FILEcarcols.meta
VEHICLE_VARIATION_FILEcarvariations.meta
CONTENT_UNLOCKING_META_FILEdlctext.meta
VEHICLE_LAYOUTS_FILEvehiclelayouts.meta

You don't need to list files in the stream/ folder — FiveM auto-detects and streams them.

Step 4: Adjust the Meta Files

Meta files from single-player mods usually work in FiveM, but there are a few things to check:

vehicles.meta — Make sure the <txdName> matches the actual .ytd filename in your stream folder (without the extension). If the mod uses adder.ytd, then <txdName> should be adder. A mismatch causes invisible vehicles.

handling.meta — Should work as-is in most cases. The <handlingName> must match what's referenced in vehicles.meta.

carvariations.meta — Defines liveries, extras, and color combinations. Check that referenced kit names exist in the model.

carcols.meta — Defines paint colors and siren settings. If the vehicle has custom sirens, the siren ID must not conflict with other vehicles on your server.

Step 5: Handle DLC and Naming Conflicts

FiveM resources operate in a shared namespace. If two resources define a vehicle with the same spawn name, one will override the other. Similarly, if two resources stream a file with the same name, only one will load.

To avoid conflicts:

  • Use unique model names that won't collide with base game vehicles or other mods
  • Prefix your filenames if needed (e.g., myserver_adder.yft instead of adder.yft)
  • Check vehicles.meta for the <modelName> — this is the spawn name players use and must be unique across your server

Step 6: Test the Resource

  1. Place your resource folder in your server's resources/ directory
  2. Add ensure my-vehicle to your server.cfg
  3. Start or restart the server
  4. In-game, try spawning the vehicle with its model name

If the vehicle doesn't appear or appears invisible:

  • Check the server console for errors — FiveM will report missing meta files or bad manifest syntax
  • Verify <txdName> and <modelName> match your stream files
  • Confirm all required meta files are listed in both files and data_file sections of the manifest
  • Check that .yft and .ytd files aren't corrupted (open them in ModWorks to verify)

Automating the Conversion

ModWorks includes an RPF-to-FiveM conversion tool that automates most of this process. Point it at an RPF archive or a folder of extracted mod files, and it will:

  • Extract all assets from RPF archives
  • Create the stream/ and meta/ folder structure
  • Generate a fxmanifest.lua with the correct data_file entries
  • Flag potential issues like missing textures or naming conflicts

This saves significant time when converting multiple mods, especially vehicle packs where each vehicle needs its own meta file entries.

Converting Other Mod Types

The process above focuses on vehicles since they're the most common conversion, but the same principles apply to other mod types:

Ped models — Stream .ydd and .ytd files, use PED_METADATA_FILE and PED_PERSONALITY_FILE data types.

Map props — Stream .ydr and .ytd files, use YMAP data types for placements.

Weapons — Stream model and texture files, use WEAPONINFO_FILE and WEAPON_ANIMATIONS_FILE data types.

MLOs (interiors) — Stream .ytyp, .ymap, and associated models. MLO conversion is more complex and often requires adjusting coordinates and entity references.

Common Mistakes

Forgetting to list meta files in files block. The data_file entry alone isn't enough — the file must also appear in files or FiveM won't send it to clients.

Using __resource.lua instead of fxmanifest.lua. The old __resource.lua format still works but is deprecated. Always use fxmanifest.lua with fx_version 'cerulean' for new resources.

Not matching texture dictionary names. The .ytd filename in your stream folder must exactly match the <txdName> in vehicles.meta. Case sensitivity varies by platform.

Including unnecessary files. Don't stream the entire contents of an RPF if the vehicle only needs a few files. Extra files waste bandwidth and can cause conflicts.

Further Reading