Chapter 01 · The Grand Archive

3D Creation Pipeline

From Blender mesh to a streamable FiveM prop.

Crafted for Legacy

VVS DiamondWhat you're actually building

A piece of digital jewelry in GTA / FiveM is a prop — a small 3D model (a .ydr drawable) with its textures (.ytd) and metadata (.ymt) that the game can stream in, attach to a bone on the player, and render like any other prop.

There is no "jewelry" file format. You are building the same asset type Rockstar uses for a coffee cup or a suitcase, then attaching it to the neck, wrist or finger of the player skeleton.

VVS DiamondTools you need

  • Blender 4.x — modeling and UV unwrapping.
  • Sollumz — Blender addon that exports directly to GTA V formats (YDR, YDD, YTD).
  • CodeWalker — inspect models, verify collisions, preview in-game before streaming.
  • OpenIV — texture packing and RPF inspection (optional but useful).
  • Substance Painter / Photoshop / GIMP — texture authoring (metals, gems, roughness maps).

VVS DiamondThe pipeline, step by step

  1. 01

    Model low-poly

    Jewelry sits close to the camera, but it's still a small object on-screen most of the time. Target 2k–8k tris for a full chain. Rings and studs: under 1k tris.

  2. 02

    Bevel the edges

    Sharp jewelry looks CG. Bevel every visible edge slightly (0.2–0.5 mm scale) so highlights catch the light. This is the single biggest visual win.

  3. 03

    UV unwrap cleanly

    Metals need clean UVs so the roughness / normal map wraps predictably. Diamonds and gems get their own material with a separate UV island.

  4. 04

    Author PBR textures

    Base color, metallic (near 1.0 for gold/silver), roughness (0.1–0.3 for polished, 0.5–0.7 for brushed), normal. GTA V uses a diffuse + spec workflow — Sollumz converts PBR on export.

  5. 05

    Set up the Sollumz shader

    In Blender, add a Sollumz Drawable and assign the vehicle_paint or normal_spec shader depending on the material. Set diffuse and spec samplers.

  6. 06

    Export YDR + YTD

    Sollumz > Export Drawable. You get a .ydr (mesh) and a .ytd (texture dictionary) — the two files FiveM will stream.

  7. 07

    Preview in CodeWalker

    Drop the .ydr into CodeWalker's RPF explorer or a test .ymap and confirm it renders, has correct scale, and no missing textures.

  8. 08

    Package for streaming

    Place files in your FiveM resource's stream/ folder. FiveM auto-loads any .ydr / .ytd found there.

VVS DiamondFolder layout inside your FiveM resource

textVVS Diamond
my-jewelry/
├── fxmanifest.lua
├── stream/
│   ├── jewel_chain_cuban_gold.ydr
│   ├── jewel_chain_cuban_gold.ytd
│   ├── jewel_ring_signet.ydr
│   ├── jewel_ring_signet.ytd
│   └── jewel_watch_ap_gold.ydr
├── client/
│   └── attach.lua
├── server/
│   └── main.lua
└── shared/
    └── catalog.lua

VVS DiamondMinimal fxmanifest.lua

luaVVS Diamond
fx_version 'cerulean'
game 'gta5'
lua54 'yes'

author 'Your Studio'
description 'Custom jewelry props + wear system'
version '1.0.0'

files {
    'shared/catalog.lua',
}

shared_script 'shared/catalog.lua'
client_script 'client/attach.lua'
server_script 'server/main.lua'

-- FiveM auto-streams anything in stream/, no manifest entry needed

VVS DiamondWhat this guide does NOT cover

This is a scripting-first guide. Deep 3D authoring — Blender fundamentals, UV theory, Substance material graphs — has better dedicated resources on YouTube and the Sollumz wiki. Once your .ydr and .ytd exist, jump to Chapter 02 — Scripting to wire them into the game.