weapons.meta explained, field by field
weapons.meta holds CWeaponInfo items inside a CWeaponInfoBlob. The fields you will edit most are Name, Model, Slot, AmmoInfo, ClipSize, Damage, HeadShotDamageModifierPlayer, DamageFallOffRange*, TimeBetweenShots, WeaponRange, the recoil shake values, WeaponFlags and AttachPoints. Load it with data_file 'WEAPONINFO_FILE' '**/weapons.meta' alongside the other weapon meta files.
Every GTA V weapon — vanilla or addon — is defined by a CWeaponInfo entry in a weapons.meta file. It decides what the weapon is called, which model it uses, how hard it hits, how fast it fires, how far it reaches and which attachments fit. The file is long and intimidating, but only a few dozen of its fields matter in practice. This reference explains those, using a real addon rifle’s meta as the example.

#How the file is loaded
An addon weapon resource ships several meta files and registers each with a data_file line. This is the set the weapon studio writes for every export:
fx_version 'cerulean'
game 'gta5'
files {
'**/weaponcomponents.meta',
'**/weaponarchetypes.meta',
'**/weaponanimations.meta',
'**/pedpersonality.meta',
'**/weapons.meta',
}
data_file 'WEAPONCOMPONENTSINFO_FILE' '**/weaponcomponents.meta'
data_file 'WEAPON_METADATA_FILE' '**/weaponarchetypes.meta'
data_file 'WEAPON_ANIMATIONS_FILE' '**/weaponanimations.meta'
data_file 'PED_PERSONALITY_FILE' '**/pedpersonality.meta'
data_file 'WEAPONINFO_FILE' '**/weapons.meta'| File | data_file type | Defines |
|---|---|---|
| weapons.meta | WEAPONINFO_FILE | The weapon itself (this guide) |
| weaponarchetypes.meta | WEAPON_METADATA_FILE | Model archetypes: model, texture dictionary, LOD — see weaponarchetypes.meta |
| weaponanimations.meta | WEAPON_ANIMATIONS_FILE | Which animation sets it uses — see weaponanimations.meta |
| weaponcomponents.meta | WEAPONCOMPONENTSINFO_FILE | Its attachments and magazines |
| pedpersonality.meta | PED_PERSONALITY_FILE | Holster/unholster clips for peds |
#The structure
<CWeaponInfoBlob>
<SlotNavigateOrder>…</SlotNavigateOrder>
<Infos>
<Item>
<Infos>
<Item type="CWeaponInfo">
<Name>WEAPON_MYRIFLE</Name>
<Model>w_ar_myrifle</Model>
<!-- … every field below … -->
</Item>
</Infos>
</Item>
</Infos>
<Name>MY_WEAPON_PACK</Name>
</CWeaponInfoBlob>SlotNavigateOrder places the weapon in the weapon wheel’s order; each CWeaponInfo is one weapon. One file can define several weapons.
#Identity: name, model, slot, group
| Field | Example | Meaning |
|---|---|---|
Name | WEAPON_MYRIFLE | The weapon’s spawn name. Hashed with joaat, it is the ID inventories and natives use. |
Model | w_ar_myrifle | The model (must match an archetype in weaponarchetypes.meta). |
Audio | AUDIO_ITEM_CARBINE_SPECIAL | Which vanilla sound set to use — see addon weapon sounds. |
Slot | SLOT_WEAPON_MYRIFLE | Unique inventory slot; must be unique per weapon. |
WheelSlot | WHEEL_RIFLE | Which weapon-wheel section it appears in. |
Group | GROUP_RIFLE | Weapon class, used by the game for animations, stats and AI. |
HumanNameHash | WEAPON_MYRIFLE | Text label key for the display name — see display names. |
DamageType | BULLET | BULLET, EXPLOSIVE, MELEE, FIRE, ELECTRIC… |
FireType | INSTANT_HIT | INSTANT_HIT (bullets), PROJECTILE (rockets, grenades), MELEE… |
#Damage, headshots and falloff
| Field | Example | Meaning |
|---|---|---|
Damage | 34.75 | Base damage per bullet. |
HeadShotDamageModifierPlayer | 18.0 | Multiplier for headshots on players. |
MinHeadShotDistancePlayer / MaxHeadShotDistancePlayer | 5 / 40 | Distances over which the headshot bonus applies. |
HitLimbsDamageModifier | 0.5 | Damage scale for arm and leg hits. |
NetworkHitLimbsDamageModifier | 0.8 | Limb scale in multiplayer. |
LightlyArmouredDamageModifier | 0.75 | Scale against lightly armoured targets. |
NetworkPlayerDamageModifier | 1.0 | Overall scale against players online. |
NetworkHeadShotPlayerDamageModifier | 1.7 | Headshot scale against players online. |
DamageFallOffRangeMin / Max | 47.5 / 120 | Damage starts dropping at Min and reaches the minimum at Max. |
DamageFallOffModifier | 0.3 | Damage multiplier at the far end of the falloff. |
Values are illustrative from a real addon rifle; tune against your own server’s health and armour. For server-wide balance without editing files, damage modifiers are often simpler, and headshots have their own guide: headshot damage settings.
#Magazine, fire rate, range and accuracy
| Field | Example | Meaning |
|---|---|---|
AmmoInfo ref | AMMO_RIFLE | Which ammo type it uses (shared pools between weapons). |
ClipSize | 30 | Rounds per magazine. |
TimeBetweenShots | 0.135 | Seconds between shots — 60 / 0.135 ≈ 444 RPM. |
WeaponRange | 120 | Maximum range in metres. |
LockOnRange | 65 | Lock-on distance for aim assist. |
AccuracySpread | 3.0 | Base spread; lower is more accurate. |
RecoilAccuracyMax | 0.5 | How much sustained fire degrades accuracy. |
BulletsInBatch / BatchSpread | 1 / 0 | Pellets per shot and their spread — shotguns use several. |
Penetration | 0.1 | How well bullets pass through thin materials. |
Speed | 2000 | Projectile speed. |
ReloadTimeMP | -1 | Override reload time; −1 uses the animation. |
#Recoil shake and cameras
| Field | Example | Meaning |
|---|---|---|
RecoilShakeHash | ASSAULT_RIFLE_RECOIL_SHAKE | Third-person camera shake per shot |
RecoilShakeHashFirstPerson | FPS_ASSAULT_RIFLE_RECOIL_SHAKE | First-person camera shake per shot |
RecoilShakeAmplitude | 0.333 | Strength of that shake |
MinTimeBetweenRecoilShakes | 150 | Milliseconds between shakes |
DefaultCameraHash | DEFAULT_THIRD_PERSON_PED_AIM_CAMERA | Aim camera |
FirstPersonScopeFov | 20 | Field of view through a scope in first person |
The shake is visual; it does not move where bullets go. Scripted recoil that actually lifts the aim is covered in recoil scripts.
#WeaponFlags
<WeaponFlags> is a single space-separated list. Each word switches on a behaviour. From the example rifle:
<WeaponFlags>CarriedInHand Automatic Gun CanLockonOnFoot CanLockonInVehicle CanFreeAim TwoHanded AnimReload AnimCrouchFire UsableOnFoot UsableInCover LongWeapon UseFPSAimIK</WeaponFlags>| Flag | Effect |
|---|---|
Automatic | Fires while the trigger is held |
TwoHanded | Held with both hands |
LongWeapon | Treated as a long gun (affects holstering and animations) |
CanFreeAim | Can be aimed without lock-on |
UsableInCover | Can be used from cover |
UsableOnFoot | Can be used while on foot |
AnimReload | Uses a reload animation |
#AttachPoints: which components fit
<AttachPoints>
<Item>
<AttachBone>WAPClip</AttachBone>
<Components>
<Item><Name>COMPONENT_MYRIFLE_CLIP_01</Name><Default value="true" /></Item>
<Item><Name>COMPONENT_MYRIFLE_CLIP_02</Name><Default value="false" /></Item>
</Components>
</Item>
<Item>
<AttachBone>WAPSupp</AttachBone>
<Components>
<Item><Name>COMPONENT_AT_AR_SUPP</Name><Default value="false" /></Item>
</Components>
</Item>
</AttachPoints>Each attach point is a bone on the model (WAPClip for magazines, WAPSupp for suppressors, WAPFlshLasr for lights, WAPScop for scopes, WAPGrip for grips). A component only fits if it is listed here — which is why an attachment item does nothing on some addon guns. Weapon components explains the scripting side.
#The HUD stats
HudDamage, HudSpeed, HudCapacity, HudAccuracy and HudRange (0–100) only fill the stat bars in the game’s weapon wheel and shop menus. They do not change how the weapon behaves; set them to reflect the real values so players are not misled. To see what each field starts at without opening a file, a weapons.meta editor reads the real values out of the game data and writes the changed lines back.
Questions
What is weapons.meta?
data_file 'WEAPONINFO_FILE'.How do I change fire rate in weapons.meta?
TimeBetweenShots (seconds between shots). Lower is faster: 0.1 is 600 rounds per minute.How do I change magazine size?
ClipSize. If the weapon uses component magazines, the component’s own clip size in weaponcomponents.meta applies when that magazine is attached.Why does my addon weapon not load?
data_file line points at the wrong path, or the model named in Model is not streamed. Check the F8 console for errors on join.Do the HudDamage values change damage?
Damage and the modifiers.Which data_file lines does an addon weapon need?
WEAPONCOMPONENTSINFO_FILE, WEAPON_METADATA_FILE, WEAPON_ANIMATIONS_FILE, PED_PERSONALITY_FILE and WEAPONINFO_FILE, pointing at the matching meta files.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
Fifty-one wheel designs that replace the native HUD wheel From $15, 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.
- All 921 vehicle spawn namesEvery vanilla model with a picture, its display name, its class and the hash CreateVehicle takes.