Weaponsintermediate8 min readupdated 11 Sept 2026

weaponarchetypes.meta: tying a weapon model to its textures

The short answer

Each <Item> in weaponarchetypes.meta lists a modelName (the .ydr name without extension), a txdName (the .ytd name without extension that holds its textures), a ptfxAssetName (usually NULL) and a lodDist. Every model the weapon and its components use needs an entry, and the names must match the streamed files exactly.

weaponarchetypes.meta is the shortest weapon meta file and the one most often behind “my weapon is invisible” or “my weapon is white”. It tells the game, for each model the weapon uses — the gun, every magazine, every suppressor — which texture dictionary to read its textures from and from how far away to draw it.

weaponarchetypes.meta: tying a weapon model to its textures — illustrated with a FiveM-compatible minimap render

#A real example

weaponarchetypes.meta
<CWeaponModelInfo__InitDataList>
  <InitDatas>
    <Item>
      <modelName>w_ar_myrifle</modelName>
      <txdName>w_ar_myrifle</txdName>
      <ptfxAssetName>NULL</ptfxAssetName>
      <lodDist value="500"/>
    </Item>
    <Item>
      <modelName>w_ar_myrifle_mag1</modelName>
      <txdName>w_ar_myrifle</txdName>
      <ptfxAssetName>NULL</ptfxAssetName>
      <lodDist value="300"/>
    </Item>
  </InitDatas>
</CWeaponModelInfo__InitDataList>

Here the rifle and its magazine share one texture dictionary, w_ar_myrifle.ytd. That is common: several models can read from the same dictionary, which keeps the texture count down.

#The four fields

FieldMust matchIf wrong
modelNameA streamed .ydr (gun) or component modelThe model is not registered; it may be invisible
txdNameA streamed .ytd containing the textures the model asks forThe model draws with missing textures
ptfxAssetNameA particle asset, or NULLUsually harmless; leave NULL unless the model needs particles
lodDist—Too low: the weapon disappears at short range in other players’ hands

#How it connects to your textures

A model asks for textures by name; txdName tells it which dictionary to search. If you retexture a weapon and rename the dictionary, update txdName too. If textures come out pink or missing, the problem is either this name or the texture names inside the .ytd — see pink weapon textures and .ytd texture dictionaries.

#lodDist and other players

You always see your own weapon up close. lodDist matters for everyone else: it is how far away other players can still see the weapon in your hands or on your back. A value of a few hundred metres is enough; very high values make every weapon in the area draw from far away for no benefit.

Share this guideXRedditFacebook

Questions

What does weaponarchetypes.meta do?
It registers each weapon model and component model, and tells the game which texture dictionary each uses and how far away to draw it.
Why is my addon weapon white or pink?
The model cannot find its textures: txdName does not match the streamed .ytd, or the texture names inside the .ytd differ from what the model expects.
Do attachments need entries in weaponarchetypes.meta?
Yes, every component model (magazines, suppressors, scopes) needs its own entry.
Which data_file loads weaponarchetypes.meta?
data_file 'WEAPON_METADATA_FILE' 'path/weaponarchetypes.meta'.

Ready to pick a map?

Twelve themes on three base map styles, $8 each, instant download.

Relevant to what you just read

The tool for this

Put your own artwork on 538 weapon models From $5, built in the browser, exported as a drop-in resource.

Look it up while you work

The reference tables this guide leans on, free and without an account.