Assets

GTA V and FiveM File Formats: What Every Asset File Does

What .ydr, .ytd, .yft, .ytyp, .ymap, .ybn, .ycd and .meta files are, what they contain, which tools open them, and how they fit in a FiveM resource.

· 10 min read

You downloaded a car, a clothing pack or a map, opened the zip and found a pile of .yft, .ytd, .ytyp and .meta files. GTA V runs on Rockstar's RAGE engine, and RAGE splits every asset into several specialized files: one for the mesh, one for the textures, one for the collision, one for the data that tells the game how to use it all. Once you know what each extension does, almost any FiveM asset becomes easy to read, fix and install.

This page is a reference. Use the table to identify a file quickly, then jump to the section for its asset type.

Short version: .ydr, .ydd and .yft are 3D models, .ytd holds textures, .ytyp and .ymap define and place map objects, .ybn is collision, .ycd is animation, and .meta files are plain-text data (handling, colors, weapon stats). In FiveM, model, texture, map and animation files go loose in a resource's stream/ folder, and .meta files are loaded with data_file lines in fxmanifest.lua.

Quick reference table

FormatWhat it isTypical useTools that open it
.ydrDrawable (single model)Props, weapons, map objectsCodeWalker, Sollumz (Blender), OpenIV
.yddDrawable dictionary (several models)Clothing, hair, ped partsCodeWalker, Sollumz, OpenIV
.yftFragment (model with breakable parts)Vehicles, breakable propsCodeWalker, Sollumz, OpenIV
.ytdTexture dictionaryTextures for any modelOpenIV, CodeWalker
.ytypArchetype definitionsRegistering props and MLO interiorsCodeWalker, Sollumz
.ymapMap placementsWhere objects sit in the worldCodeWalker, Sollumz (partial)
.ybnStatic collision boundsMap and MLO collisionCodeWalker, Sollumz
.ycdClip dictionaryAnimations, emotesCodeWalker, Sollumz
.ynvNavmeshWhere peds can walkCodeWalker
.awcAudio wave containerSounds, engine audioOpenIV, CodeWalker
.ymtBinary metadataPed clothing variation dataCodeWalker, OpenIV
.metaPlain-text XML dataVehicle, handling, weapon and shop dataAny text editor
.rpfArchiveHow the base game ships filesOpenIV, CodeWalker
.ydr.xml etc.Text export of a binary fileEditing and converting assetsCodeWalker, Sollumz

GTA V file formats at a glance

A quick word on the tools:

  • CodeWalker is a free map viewer and file explorer for GTA V. It can browse the game's archives, preview models, edit maps and convert binary files to XML and back.
  • Sollumz is a free Blender add-on that imports and exports GTA V models, collisions, maps and animations. It handles both native binary files (.ydr) and CodeWalker XML (.ydr.xml).
  • OpenIV is a long-standing archive browser and editor, mostly used today to look inside .rpf archives and swap textures.

Models: .ydr, .ydd and .yft

All three are compiled 3D models. They contain meshes, LOD levels (lower-detail versions shown at distance), shader settings and references to textures. The difference is how many models they hold and how they behave.

.ydr – drawable

A .ydr is a single static model. Most props are .ydr files: a chair, a sign, a vending machine. Weapon models are .ydr files too (for example w_pi_pistol.ydr). A .ydr can carry its own embedded collision, which is how small props stay solid without a separate .ybn.

If you want custom props without modeling them yourself, BLDR's 3D generator turns a prompt, an image or a GLB into .ydr, .ytd and .ytyp files packaged as a FiveM resource. For the full workflow, see FiveM custom props.

.ydd – drawable dictionary

A .ydd bundles several drawables in one file. You see them mostly on peds: every clothing item (a jacket, a pair of shoes, a hairstyle) is a .ydd that pairs with a .ytd of the same base name. Clothing packs ship dozens or hundreds of them. FiveM clothing packs covers how they are named and streamed.

.yft – fragment

A .yft is a model with a physics hierarchy: parts that can move, break off or deform. Vehicles are always .yft files, because doors open, bumpers fall off and windows shatter. Breakable world objects, such as fences and lamp posts, also use .yft.

Vehicles usually come as a pair: mycar.yft for the normal model and mycar_hi.yft for the high-detail version shown up close.

Textures: .ytd

A .ytd (texture dictionary) is a container of images, typically DDS-compressed: diffuse colors, normal maps, specular maps and so on. Models reference textures by name, and the game looks them up in the matching dictionary.

Common patterns:

  • mycar.ytd and mycar+hi.ytd for a vehicle's normal and high-detail textures.
  • One .ytd per clothing item, named like its .ydd.
  • One shared .ytd for a set of props, referenced from the .ytyp.

Textures are also where most streaming problems come from. A 4K texture on a small prop costs every player memory and download time. Optimizing FiveM assets explains how to right-size them.

Maps: .ytyp, .ymap and .ynv

.ytyp – archetype definitions

A .ytyp describes what an object is, not where it is. Each entry (an archetype) names a model and lists its texture dictionary, LOD distance, bounding box and flags. Without an archetype, the game does not fully know how to load and draw a custom model.

For interiors, the .ytyp also holds the MLO definition: rooms, portals between rooms and entity sets that scripts can toggle. That is why every MLO ships with one. See what an MLO is in FiveM for the details.

.ymap – map placements

A .ymap says where things are. It lists entities by archetype name with a position and rotation, and can also contain car generators, occluders, LOD lights and timecycle modifiers. A custom map is usually a .ymap that places objects defined in a .ytyp. Map edits that remove or move base-game objects also live in .ymap files.

.ynv – navmesh

A .ynv is a navigation mesh: the walkable surfaces AI peds use to path around. You rarely touch these unless you build large exterior maps and want NPCs to walk on them.

Collision: .ybn

A .ybn holds static collision bounds: simplified shapes and meshes the physics engine uses to decide what you can stand on, drive into or shoot through. Collision geometry also carries material data, which controls footstep sounds, bullet impacts and tire grip.

Maps and MLOs usually have one or more .ybn files next to their models. If you can walk through a wall or fall through a floor, the .ybn is missing, not streaming, or does not match the model.

Animations: .ycd

A .ycd is a clip dictionary: a set of animation clips stored under one dictionary name. Scripts load the dictionary with RequestAnimDict and then play a clip from it by name. Emote menus, custom idles and dances all ship as streamed .ycd files.

BLDR's /mocap tool turns a 1–30 second video into a .ycd animation with a clip named anim. Custom FiveM emotes walks through adding one to an emote menu.

Audio: .awc

An .awc (audio wave container) holds sound data. Custom engine sounds and other audio mods ship one or more .awc files, usually alongside .rel-based audio configuration. In FiveM, a folder of wave packs is loaded with the AUDIO_WAVEPACK data file type. Audio modding is its own deep topic; if an asset includes it, follow the creator's instructions closely.

Data and metadata: .meta, .ymt and .rpf

.meta files

.meta files are plain XML you can open in any text editor. They are where gameplay data lives:

FileWhat it controlsdata_file type
vehicles.metaModel name, display name, texture dictionary, handling ID, vehicle class, layoutVEHICLE_METADATA_FILE
handling.metaSpeed, acceleration, braking, traction, suspension, massHANDLING_FILE
carvariations.metaAllowed paint colors, mod kits, extras, liveriesVEHICLE_VARIATION_FILE
carcols.metaMod kits (tuning parts), siren and light settingsCARCOLS_FILE
vehiclelayouts.metaSeat and entry/exit layoutsVEHICLE_LAYOUTS_FILE
weapons.meta (weapon info)Damage, range, ammo, fire rate, modelWEAPONINFO_FILE
weaponanimations.metaWhich animations a weapon usesWEAPON_ANIMATIONS_FILE
weaponarchetypes.metaWeapon model archetypesWEAPON_METADATA_FILE
peds.metaPed model settingsPED_METADATA_FILE
Shop ped apparel .metaClothing entries for freemode pedsSHOP_PED_APPAREL_META_FILE

The names inside these files must agree with each other. The handlingId in vehicles.meta must match a handlingName in handling.meta, and the modelName must match the .yft file name. Most "vehicle spawns but drives wrong" or "vehicle will not spawn" problems are a mismatch here.

.ymt

A .ymt is a binary metadata file. In clothing packs, the .ymt holds the ped variation data: which drawables and textures exist for each clothing slot. It is usually named after the ped model and pack, for example mp_m_freemode_01_mypack.ymt, and streams with the .ydd and .ytd files. CodeWalker can convert it to XML for inspection.

.rpf – archives

An .rpf is RAGE's archive format, similar to a zip. The base game ships everything inside RPFs, and single-player mods are usually installed by editing them with OpenIV.

FiveM works differently: resources stream loose files. If a download only contains an .rpf (often a dlc.rpf made for single-player), open it in OpenIV or CodeWalker, extract the models, textures and meta files, and rebuild them as a FiveM resource.

.xml exports

CodeWalker can export most binary formats to readable XML (mycar.yft.xml, prop.ydr.xml, map.ymap.xml) and import them back. Sollumz can export to the same XML format. You might find these files in asset sources or tutorials. They are an editing format: convert them back to binary before streaming them in FiveM.

How these come together in a resource

Every FiveM asset is a resource: a folder with an fxmanifest.lua. Models, textures, maps and animations go in stream/ and load automatically. Meta files go elsewhere (usually data/) and are registered with a files entry plus a data_file line. If you are new to resources, How to make a FiveM server covers the basics.

What a custom prop is made of

Example: an add-on vehicle

my_car/ ├── fxmanifest.lua ├── data/ │ ├── vehicles.meta │ ├── handling.meta │ ├── carvariations.meta │ └── carcols.meta └── stream/ ├── mycar.yft ├── mycar_hi.yft ├── mycar.ytd └── mycar+hi.ytd
fx_version 'cerulean'
game 'gta5'

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

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

The spawn name is the modelName from vehicles.meta, which should match mycar.yft.

Example: a custom prop with a placement

my_props/ ├── fxmanifest.lua └── stream/ ├── my_bench.ydr ├── my_props.ytd ├── my_props.ytyp └── my_props_placement.ymap
fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

data_file 'DLC_ITYP_REQUEST' 'stream/my_props.ytyp'

The .ydr is the model, the .ytd its textures, the .ytyp registers my_bench as an archetype, and the .ymap places it in the world. this_is_a_map tells FiveM the resource contains map data. If you only want to spawn the prop from a script, you can drop the .ymap and this_is_a_map.

Frequently asked questions

Can I just drag .yft or .ydr files into my server?

Only inside a resource. Put them in a resource's stream/ folder, add an fxmanifest.lua, and ensure the resource in server.cfg. Vehicles also need their meta files registered with data_file, or they will not spawn.

What is the difference between .ydr, .ydd and .yft?

A .ydr is one static model, a .ydd is a dictionary of several models (mostly clothing and ped parts), and a .yft is a model with breakable or moving parts (vehicles and destructible objects).

Why are my textures missing or purple?

The model cannot find its texture dictionary. Check that the .ytd is in stream/, that its name matches what the model or .ytyp expects, and that it is not so large that it fails to stream.

Do I need OpenIV for FiveM?

Not usually. FiveM resources use loose files, so you only need an archive tool to extract content from an .rpf. CodeWalker covers that, plus maps and XML conversion, and Sollumz covers editing in Blender.

What does a .ytyp do if I already have a .ydr?

The .ydr is the model itself. The .ytyp tells the game how to treat it: which textures to use, how far away it stays visible and how big it is. Maps and MLOs depend on it, and custom props are much more reliable with one.

Keep reading