FiveM props not showing? Fix it step by step
A prop that looks fine in CodeWalker but is missing on the server, shows purple, has no collision or vanishes when you walk away has one of a short list of causes. Work through them in order.
1. The files are outside stream/
FiveM only streams files inside a stream folder. A .ydr in the resource root or in models/ is never loaded, even though CodeWalker shows it from your game folder.
2. The .ytyp is not requested
The archetype file has to be loaded from the manifest:
data_file 'DLC_ITYP_REQUEST' 'stream/my_props.ytyp'
Then check in game: print(IsModelInCdimage(joaat('my_prop'))). If it prints false, the game does not know the model, so no spawn or map will show it.
A trap with resources that also ship a _manifest.ymf: if that file lists your own .ytyp as a dependency, the type can fail to register. A prop resource without its own map does not need a .ymf at all.
3. The names do not match
The archetype name, the .ydr file name and the assetName must be identical. If the textures live in a separate .ytd, the archetype’s textureDictionary must name it; if they are embedded in the .ydr, leave it empty. A mismatch shows the prop purple or white.
4. Bounds and draw distance
The archetype stores a bounding box, a sphere and a lodDist. A zero or tiny box makes the game cull the prop as soon as it is off-centre; a lodDist of 0 or 5 makes it vanish a few metres away. Use the real bounds of the model and a draw distance that fits its size (50 to 150 m for most props).
5. No collision
Visible but you walk through it: the .ydr has no embedded bound, or the archetype’s physicsDictionary is empty. Both are needed for a static prop. Collision that floats above the floor usually means a box bound whose centre was never set.
6. Textures too large
A dictionary over the streaming budget may load late or not at all, so the prop flickers between untextured and textured. Keep prop textures at 2048 px or less and compress them.
Build it right the first time
The Prop Creator converts a 3D model or image into a .ydr with embedded textures, a matching .ytyp, collision and a manifest that already loads the archetype, plus a test command to spawn it.
Frequently asked
Do I need a ytyp for every prop?
For a custom model that you spawn by name, yes in practice: the .ytyp archetype tells the game the model exists, its bounds, its draw distance and where its textures and collision are. Without it the model may not spawn or may cull wrongly.
It works in a ymap but not when I spawn it. Why?
The map file streams the archetype for you, but a script spawn needs the .ytyp loaded with data_file 'DLC_ITYP_REQUEST'. Add it to the manifest.
Why can I walk through my prop?
The .ydr has no collision bound, or the archetype does not point its physics dictionary at the model. Both are needed.
Try it free
Create a free account, join the Discord for your credits, and build your first asset in minutes.
