Explainer · Prop Creator

What Is a YTYP File? GTA V Prop Archetypes Explained

You will know what each archetype field does, how FiveM loads a .ytyp, and what to check when a custom prop streams but never appears.

YTYP explainer: how GTA V prop archetypes register custom props in FiveM

A YTYP file (.ytyp) is a GTA V archetype file: it tells the game what each model is. Every archetype inside it gives one model its name, how far away it is drawn, its bounding box and sphere, its flags, and which texture and collision data it uses. The model itself lives in a .ydr (or a .yft or .ydd); the .ytyp only describes it.

In FiveM you load a .ytyp with a data_file 'DLC_ITYP_REQUEST' line in fxmanifest.lua. Without that line, a custom prop's model still streams, but no archetype registers its name, so the prop can't be spawned. The values and examples below come from the .ytyp files our Prop Creator writes when it turns a 3D model into a FiveM prop resource. For the whole workflow, see how to add custom props to FiveM.

What a YTYP file does

GTA V keeps a model apart from its definition. Three file types work together for a prop:

FileRole
.ydrThe model: mesh and shaders, optionally with embedded textures and collision.
.ytdA texture dictionary, for textures kept outside the model.
.ytypArchetypes: one definition per model, looked up by name.

Names inside a .ytyp are not stored as text. Each one is saved as a 32-bit hash of the lowercased name (the Jenkins one-at-a-time hash, or joaat), the same number GetHashKey returns in a script. The game matches everything through these hashes: the name you spawn has to match an archetype's name, and that archetype's assetName has to match the .ydr file name.

The file itself is a compressed binary RSC7 resource. Inside is a CMapTypes structure holding a list of CBaseArchetypeDef entries, plus extension, dependency and composite entity lists that the Prop Creator leaves empty. Two larger archetype types exist for special cases: CMloArchetypeDef for MLO interiors, which adds rooms, portals and entity sets, and CTimeArchetypeDef for models that only show at certain hours.

Not every model needs a .ytyp. Props and other map objects get their archetypes from .ytyp files, and so do MLO interiors. Vehicles, peds and weapons are registered in .meta files instead (vehicles.meta, peds.meta and weaponarchetypes.meta), so a custom FiveM ped or an add-on weapon needs no .ytyp.

The fields in a GTA V archetype

Each CBaseArchetypeDef is a 144-byte record. These are its fields and what the Prop Creator writes into each one:

FieldWhat it meansProp Creator value
nameThe model name you spawn, stored as a hash.The spawn name
lodDistHow far away the model is drawn, in meters.Culling distance: 10 to 9,998, default 500
flagsOption bits, added together.32 (static) or 131072 (dynamic), plus 65536 for double-sided rendering
specialAttributeA special-behavior number.0
bbMin, bbMaxOpposite corners of the box around the model, relative to its origin.Measured from the final mesh
bsCentre, bsRadiusCenter and radius of a sphere around the model.The box center, and the distance from it to the farthest vertex
hdTextureDistDistance for high-detail textures, in meters.HD texture distance: 1 to 500, default 15
textureDictionaryThe texture dictionary the model uses.The spawn name (the textures sit inside the .ydr)
clipDictionaryAnimation clips, for animated models.Empty
drawableDictionaryThe .ydd that holds the model, if there is one.Empty
physicsDictionaryThe collision data the model uses.The spawn name, or empty when Collision is None
assetTypeWhat kind of file holds the model.ASSET_TYPE_DRAWABLE (a single .ydr)
assetNameThe model file to load.The spawn name, matching the .ydr
extensionsOptional extras attached to the model, such as lights or particle effects.Empty

The flags come from your prop's settings and materials. They add up, so a dynamic, double-sided prop has 196608:

  • 32 marks a static prop.
  • 131072 marks a dynamic prop. It replaces 32 when Dynamic prop (physics object) is turned on.
  • 65536 turns on double-sided rendering. It is added when a material in your model is double-sided (glTF files can mark materials this way). A .ydr stores no setting for drawing the back of a face, so without this flag the game hides the back of every face. With it, both sides are drawn without duplicating any faces.

Because a Prop Creator prop has a single detail level, its lodDist is the distance at which it stops being drawn. Other archetypes use other asset types, such as ASSET_TYPE_FRAGMENT for a model in a .yft (the format of vehicles and breakable objects) or ASSET_TYPE_DRAWABLEDICTIONARY for one in a .ydd.

Prop Creator

Import a 3D model and get its .ydr, a matching .ytyp and a ready fxmanifest.lua in one FiveM resource.

Open the Prop Creator

A real YTYP example from a prop pack

Garry's Mod props, including a wooden cabinet, an orange armchair, a sofa, barrels and a crate, scattered on airport tarmac under a Garry's Mod Props Pack title
The Garry's Mod Props pack (in beta) was exported with the Prop Creator: one .ydr per prop and one .ytyp for the whole pack.

The pack's gmod-props.ytyp holds more than 670 archetypes. This is the one for gmod_props_c17_oildrum001, an oil drum, read straight from the file and rounded to three decimals:

FieldValue
name, assetName, textureDictionary, physicsDictionarygmod_props_c17_oildrum001, stored as the hash 1862022741
lodDist500
hdTextureDist15
flags196608
bbMin-0.368, -0.368, 0
bbMax0.368, 0.368, 1.143
bsCentre0, 0, 0.572
bsRadius0.673
assetTypeASSET_TYPE_DRAWABLE

What these numbers tell you:

  • Flags 196608 is 131072 + 65536: the pack was exported as dynamic physics props with double-sided rendering, and every archetype in the file has the same value.
  • The box runs from 0 to 1.143 on Z, so the drum is 0.74 m wide and 1.14 m tall with its origin at the bottom. Created at ground height, it stands on the ground. A box that runs from a negative to a positive Z, such as -0.5 to 0.5, means the origin is in the middle, so a prop created exactly at ground height is half buried.
  • The sphere is centered on the box, but its radius (0.673) is smaller than half the box's diagonal (0.773). A round drum doesn't fill the corners of its box, and the radius only reaches the farthest vertex.
  • The hash: GetHashKey('gmod_props_c17_oildrum001') returns 1862022741, the number in the name field. That number is how a script finds the archetype.

Archetypes take little space: a Prop Creator .ytyp with one prop is about 500 bytes, and this one, with more than 670 archetypes, is about 34 KB.

How FiveM loads a YTYP: DLC_ITYP_REQUEST

FiveM streams every file in a resource's stream folder, but a .ytyp also needs a data_file line before the game registers its archetypes. This is the full fxmanifest.lua the Prop Creator writes for a resource called casino-props with two props:

fx_version 'cerulean'
game 'gta5'

author 'TeK - FiveM-Tools.com'
description 'Custom props - casino-props (generated by fivem-tools.com)'

this_is_a_map 'yes'

data_file 'DLC_ITYP_REQUEST' 'stream/casino-props.ytyp'

client_script 'cleanup.lua'

-- props: casino_chair, casino_table
  • data_file 'DLC_ITYP_REQUEST' adds the .ytyp to the game's extra content system. FiveM's data file reference lists this type as the equivalent of the game's PERMANENT_ITYP_FILE. Without the line, the .ydr streams but no archetype points to it, so the game has no model by that name to load and CreateObject has nothing to spawn.
  • The path starts at the resource folder. Keep it in sync with the .ytyp's folder and file name, and add one line for each .ytyp in the resource.
  • this_is_a_map 'yes' marks the resource as a GTA map and makes FiveM reload the map storage when the resource loads.

The rest of the file is a normal resource manifest, which our fxmanifest.lua guide explains line by line.

FiveM props not spawning? Check the YTYP first

When a custom prop streams but never appears, work through this list in order:

  1. The resource is running. It is in server.cfg with ensure, and the server console shows no error when it starts.
  2. The .ytyp is declared. The manifest has a DLC_ITYP_REQUEST line whose path matches the .ytyp's folder and file name.
  3. The names match. You spawn the archetype's exact name (case doesn't matter, typos do), and its assetName matches a streamed .ydr.
  4. The script waits for the model. Call RequestModel and wait for HasModelLoaded before CreateObject.
  5. The name is unique. No other resource and none of the game's own props use the same archetype name. You can check the game's prop names in the GTA 5 prop list.
  6. It spawned but you can't see it. Check that you are within its lodDist and not looking at the back of single-sided faces. For a prop with a separate .ytd, also check that the .ytd is streamed and that its name matches textureDictionary.

Our custom props tutorial includes a test command that loads a model with a time limit and tells you when it can't.

How to make a YTYP file: generators and editors

  • Prop Creator. When you export props from a 3D model, it writes the .ydr files, the .ytyp and the manifest together, with bounds measured from the final mesh and names that always match.
  • CodeWalker. Opens and edits .ytyp files, so you can add or change archetypes for .ydr files you already have.
  • Blender with Sollumz. Creates archetypes alongside the models you export from Blender.
  • Standalone generators. GTAUtil's genpropdefs command builds archetype entries from a folder of .ydr files, and small desktop tools such as mmYtypTool create and edit .ytyp files.

The Prop Creator only builds archetypes for models you import into it; it does not read existing .ydr files. To see where the .ytyp sits among the other formats, read our GTA V file formats guide.

Frequently asked questions

Does DLC_ITYP_REQUEST still work in current FiveM?

Yes. DLC_ITYP_REQUEST is still a documented data file type, and Prop Creator exports use it in an fxmanifest.lua with fx_version 'cerulean'. The main change since the 2017 guides is the manifest file: __resource.lua was replaced by fxmanifest.lua, but the data_file line is written the same way.

Do I need one YTYP file per prop?

No. One .ytyp can hold many archetypes, one per model. A Prop Creator export always has a single .ytyp with one archetype for each prop, so even a 50-prop resource needs only one DLC_ITYP_REQUEST line.

What is the difference between a YTYP and a YMAP?

A .ytyp defines models: it says what a prop is. A .ymap places entities in the world, each pointing to an archetype by name with a position and rotation. You need the .ytyp to spawn a custom prop at all, and a .ymap only if you want it placed on the map permanently.

Can I change a prop's draw distance after export?

Yes. The draw distance is the archetype's lodDist field. Edit it in CodeWalker, or change Culling distance in the Prop Creator and export again, which replaces that project's previous export.

How do I open a YTYP file?

Use CodeWalker, which shows and edits the archetypes inside. A text editor shows only unreadable bytes, because a .ytyp is a compressed binary file, but CodeWalker can export it to XML that you can edit as text and then import back.

Try the Prop Creator

Turn any 3D model into a spawnable GTA V prop. Collision, embedded textures and draw distance handled, packaged as a drop-in FiveM resource. Free every day, unlimited for Supporters.

Open the Prop Creator