Caliber Asset
The Caliber asset is the data contract that binds a gun, its compatible magazines, and its ammunition into a coherent ballistic system. Without caliber linkage, a magazine will never seat in a gun, and a gun will produce no damage output regardless of how its other fields are configured. Yet the Caliber asset is also one of the least-documented parts of the Unturned™ modding ecosystem, because it operates invisibly — modders configure it through fields on other assets (the gun .dat, the magazine .dat) rather than through a dedicated Caliber .dat file.
This article is the 57 Studios™ complete reference for how caliber linkage works in Unturned, what fields govern ballistic performance at the caliber level, how damage falloff is applied along the projectile trajectory, and how the vanilla caliber table maps to the in-game weapon ecosystem. It closes with a complete authoring checklist, the most common caliber-linkage errors, and a full FAQ.
Modders new to the gun system should read Gun Mod Tutorial and Attachment Slots first. This article assumes familiarity with the gun .dat and magazine .dat structure.

What you will learn
- What the Caliber asset is and how it differs from the
Caliberinteger field used for attachment filtering. - How GUID-based caliber linkage works in modern Unturned modding.
- The full damage field set:
Damage_Player,Damage_Zombie,Damage_Animal,Damage_Barricade,Damage_Vehicle,Damage_Resource,Damage_Structure. - How muzzle velocity (
Muzzle_Velocity) interacts with the ballistic trajectory simulation. - How damage falloff is calculated from the gun's
Rangefield and the projectile's travel distance. - The vanilla caliber reference table with common ID-to-name mappings.
- Ballistic curve theory and how to model different round characteristics.
- The most common caliber-linkage mistakes and how to diagnose them.
Background: what the Caliber asset actually is
In Unturned's older integer-based caliber system, the Caliber field on a gun and the Caliber_Reference field on a magazine are simple integers — they match or they do not. A magazine with Caliber_Reference 0 seats in any gun, and a gun with Caliber 0 accepts any magazine. This is the system most modders encounter first.
In Unturned's extended modding API — the one that covers dedicated server content and Workshop-published mods using the official tools documented at https://docs.smartlydressedgames.com/en/stable/ — the caliber system can also use GUID-based linkage. The Caliber asset is a named configuration object that the gun and magazine reference by GUID, rather than by a shared integer. This allows a full set of ballistic parameters to be associated with the caliber itself, rather than being distributed across individual gun and magazine files.
Integer vs. GUID caliber
Both systems are in active use in the Unturned workshop. Integer calibers (0, 1, 2, 3...) are simpler to configure and cover the majority of mod use cases. GUID-based calibers are used when the modder wants to define a caliber as a first-class asset with its own ballistic parameter set, reusable across multiple weapons in a mod family. This article covers both systems.
The caliber as a bridge
The core mental model for the Caliber asset:
The gun, the magazine, and any associated ammunition all point at the same caliber. The caliber definition then drives the projectile's physical behavior: how fast it travels, how much damage it delivers on impact, and how that damage diminishes over distance.
Integer caliber linkage
How integer caliber works
The integer caliber system uses two fields:
| Field | Location | Type | Description |
|---|---|---|---|
Caliber | Gun .dat | uint16 | The caliber ID the gun fires. A magazine must match this value to be accepted. |
Caliber_Reference | Magazine .dat | uint16 | The caliber ID the magazine holds. Must match the gun's Caliber to be accepted. |
When either value is 0, the match is considered universal:
- Gun with
Caliber 0accepts any magazine regardless of itsCaliber_Reference. - Magazine with
Caliber_Reference 0seats in any gun regardless of itsCaliber.
Caliber mismatch is the most common first-time error
The single most common failure in first-time gun mods is a caliber mismatch between the gun and the magazine. If the gun has Caliber 2 and the magazine has Caliber_Reference 0, the magazine will be accepted. If the gun has Caliber 2 and the magazine has Caliber_Reference 3, the magazine is rejected with no error message to the player — the attachment slot simply refuses the item. Always verify caliber values on both sides before testing.
Configuring integer caliber
For a new custom weapon family, the cohort recommendation is to choose a caliber integer in the range 50000–65535. This range is unlikely to collide with vanilla content or well-established community mods.
Gun .dat fragment:
Caliber 50001
Magazine 60001Magazine .dat fragment:
Caliber_Reference 50001
Amount 30Both files use 50001. The magazine seats in the gun. Any other magazine with Caliber_Reference 50001 or Caliber_Reference 0 will also seat in the gun. No other gun (unless it also declares Caliber 50001 or Caliber 0) will accept this magazine.
Weapon family cohesion
When authoring a weapon family (pistol, carbine, and SMG all firing the same fictional round), assign all three guns the same custom caliber value and author all magazines with the matching Caliber_Reference. This creates a coherent attachment and magazine ecosystem — players can share magazines across the weapon family, which is a meaningful quality-of-life feature.
GUID-based caliber linkage
How GUID caliber works
In the extended modding API, a Caliber asset is authored as a separate data object with its own GUID. The gun and magazine then reference this GUID rather than sharing an integer. This approach decouples the caliber's ballistic definition from the individual weapon files and allows the same caliber definition to be reused across dozens of guns without duplicating ballistic parameters.
When to use GUID caliber
Use GUID-based caliber when:
- The mod contains five or more guns that share the same round.
- The caliber needs its own ballistic parameter set distinct from the per-gun damage fields.
- The mod is part of a curated weapons pack where caliber consistency is a design goal.
Use integer caliber when:
- The mod is a single gun with one or two magazine variants.
- Quick iteration speed is more important than cross-weapon caliber consistency.
GUID caliber .dat fields
The Caliber asset .dat is a standalone file in the mod's content folder. Its fields govern the ballistic behavior of every projectile that uses this caliber:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
GUID | uint128 | Yes | — | The 128-bit GUID for this Caliber asset. Referenced by gun and magazine GUIDs. |
Type | enum | Yes | — | Must be Caliber. |
Name | string | Yes | — | Internal name for reference (e.g., NATO_556x45mm). Not displayed in-game. |
Damage_Player | float | No | 40.0 | Base damage to a player hit by a projectile of this caliber. |
Damage_Zombie | float | No | 60.0 | Base damage to a zombie on impact. |
Damage_Animal | float | No | 50.0 | Base damage to an animal on impact. |
Damage_Barricade | float | No | 15.0 | Base damage to player-placed barricades (walls, doors, spikes). |
Damage_Vehicle | float | No | 25.0 | Base damage to vehicles (cars, trucks, APCs) per hit. |
Damage_Resource | float | No | 5.0 | Base damage to harvestable resource nodes (trees, rocks, ore). |
Damage_Structure | float | No | 15.0 | Base damage to player-placed structures (floors, walls, roofs). |
Range | float | No | 200.0 | The maximum effective range in meters. Damage begins falling off before this point. |
Muzzle_Velocity | float | No | 800.0 | The projectile muzzle velocity in meters per second. Higher values flatten the ballistic arc. |
Ballistic_Drop | float | No | 0.05 | Per-step projectile drop. Governs the arc of the trajectory. |
Ballistic_Steps | uint8 | No | 10 | Number of trajectory simulation steps. More steps produce a smoother arc over longer ranges. |
Penetration_Chance | float | No | 0.0 | Probability (0.0–1.0) that the projectile penetrates a surface and continues. |
Example Caliber .dat — 5.56×45mm NATO
GUID a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
Type Caliber
Name NATO_556x45mm
Damage_Player 38.0
Damage_Zombie 55.0
Damage_Animal 45.0
Damage_Barricade 12.0
Damage_Vehicle 20.0
Damage_Resource 5.0
Damage_Structure 12.0
Range 350.0
Muzzle_Velocity 940.0
Ballistic_Drop 0.04
Ballistic_Steps 12Example Caliber .dat — 12 gauge buckshot
GUID b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7
Type Caliber
Name Gauge_12_Buckshot
Damage_Player 22.0
Damage_Zombie 30.0
Damage_Animal 28.0
Damage_Barricade 8.0
Damage_Vehicle 12.0
Damage_Resource 3.0
Damage_Structure 8.0
Range 55.0
Muzzle_Velocity 400.0
Ballistic_Drop 0.18
Ballistic_Steps 6Shotgun buckshot configuration
Shotgun rounds use a separate magazine field (Pellets) to define the number of projectiles per shot. Each pellet is an independent ballistic event using the caliber's damage values. A 12-gauge buckshot magazine with Pellets 9 and Damage_Player 22.0 delivers up to 9 × 22 = 198 total damage at point-blank range before falloff. Tune Damage_Player on the shotgun caliber to the per-pellet value, not the total per-shot value.
Damage fields in depth
The seven damage targets
Unturned's damage model distinguishes seven target categories. Each has its own damage field because the appropriate damage per-hit varies significantly by game design intent:
| Target | Field | Why it differs from player damage |
|---|---|---|
| Player | Damage_Player | The primary combat damage value. Tuned against player health (100 HP default). |
| Zombie | Damage_Zombie | Zombies have more HP than players in many maps; zombie damage is typically higher. |
| Animal | Damage_Animal | Animals are typically lower-HP than zombies; animal damage can be lower. |
| Barricade | Damage_Barricade | Player-placed barricades have defined HP; damage tuned against barricade HP values. |
| Vehicle | Damage_Vehicle | Vehicles have significantly more HP than characters; vehicle damage is typically higher than barricade damage. |
| Resource | Damage_Resource | Resource nodes are invulnerable to low damage; this field requires a minimum effective value. |
| Structure | Damage_Structure | Player structures (built with a hammer) typically have more HP than barricades. |
Damage field interaction with the magazine
When a magazine .dat includes its own Player_Damage field, that value is treated as a multiplier on the caliber's Damage_Player, not a replacement. The runtime multiplies the two values:
Final_Player_Damage = Caliber.Damage_Player × Magazine.Player_DamageThis design allows a single caliber to power both a standard magazine and a high-velocity magazine that does 1.2× damage, without requiring two separate caliber definitions. The cohort recommendation is to keep magazine-side damage multipliers in the range 0.8–1.3 to avoid disrupting caliber balance.
Magazine damage multiplier as 1.0
When the magazine .dat omits its own Player_Damage field, the multiplier defaults to 1.0 — the caliber's value is used unchanged. This is the expected configuration for all standard magazines in a weapon family. Only special ammunition variants (hollow point, armor piercing, incendiary) should set non-1.0 multipliers.
Damage falloff
Damage falloff is the reduction in damage that occurs as a projectile travels beyond its effective range. Unturned applies a linear falloff model: damage decreases from 100% at close range to 0% at the caliber's Range distance.
The falloff curve is:
Damage_Multiplier = 1.0 - (Travel_Distance / Range)For a projectile with Damage_Player 40 and Range 200:
| Travel distance | Damage multiplier | Damage applied |
|---|---|---|
| 0 m (point blank) | 1.00 | 40 |
| 50 m | 0.75 | 30 |
| 100 m | 0.50 | 20 |
| 150 m | 0.25 | 10 |
| 200 m (range limit) | 0.00 | 0 |
| > 200 m | 0.00 | 0 (projectile has expired) |
Range ≠ render range
The Range field in the caliber (and gun) .dat governs damage falloff and projectile lifetime, not the maximum visual draw distance for the bullet trace. A projectile beyond its Range limit deals zero damage and does not affect the world. It is not the same as the Unturned render range, which is a graphics setting.
Damage balance reference
The 57 Studios™ cohort validated the following starting-point damage values for common weapon classes. These values reflect the vanilla Unturned balance philosophy and can be used as a baseline before adjusting to fit the mod's design intent.
| Weapon class | Damage_Player | Damage_Zombie | Damage_Barricade | Damage_Vehicle | Range |
|---|---|---|---|---|---|
| Pistol | 30–40 | 45–60 | 10–15 | 15–20 | 100–150 |
| PDW / SMG | 25–35 | 38–55 | 8–12 | 12–18 | 120–200 |
| Assault rifle | 35–45 | 50–70 | 12–18 | 18–25 | 200–350 |
| Battle rifle | 50–65 | 70–95 | 18–25 | 25–35 | 300–500 |
| Sniper rifle | 80–120 | 110–160 | 25–40 | 35–50 | 500–1000 |
| Shotgun (per pellet) | 15–25 | 22–38 | 6–10 | 10–15 | 30–60 |
| LMG | 38–50 | 55–75 | 15–20 | 22–30 | 250–400 |
| Anti-material rifle | 100–150 | 140–200 | 40–80 | 80–120 | 600–1200 |
Anti-material rifle vehicle damage
An anti-material rifle with Damage_Vehicle 120 and a large magazine can destroy a vehicle in fewer shots than vanilla balances for. If the weapon is intended for public servers, review how quickly it can destroy the highest-HP vehicle on the target server before releasing.
Muzzle velocity and ballistic arc
What muzzle velocity does
Muzzle_Velocity sets the initial speed of the projectile in meters per second. In combination with Ballistic_Drop and Ballistic_Steps, it governs the shape of the ballistic arc over distance.
Higher muzzle velocity means the projectile covers more distance per simulation step before gravity causes vertical displacement — effectively a flatter trajectory. Lower muzzle velocity produces a more pronounced arc.
The relationship between velocity and arc:
Ballistic_Steps and Ballistic_Drop
Ballistic_Steps defines how many simulation steps the projectile takes between firing and expiry. Ballistic_Drop defines how many meters of vertical displacement are applied per step.
The total arc height at range:
Total_Drop = Ballistic_Drop × Ballistic_StepsFor a caliber with Ballistic_Steps 10 and Ballistic_Drop 0.05, the total arc drop is 0.5 m. For a mortar round with Ballistic_Steps 20 and Ballistic_Drop 0.30, the total drop is 6 m.
| Round type | Ballistic_Steps | Ballistic_Drop | Total arc |
|---|---|---|---|
| High-velocity rifle | 12 | 0.03 | 0.36 m |
| Standard rifle | 10 | 0.05 | 0.50 m |
| Pistol | 8 | 0.08 | 0.64 m |
| Shotgun buckshot | 6 | 0.18 | 1.08 m |
| Subsonic suppressed | 10 | 0.12 | 1.20 m |
| Grenade (40mm) | 15 | 0.25 | 3.75 m |
| Mortar round | 20 | 0.40 | 8.00 m |
Flatter is not always better
A very flat trajectory (low Ballistic_Drop, high Muzzle_Velocity) can make a weapon feel dominant at long range because there is no hold-over requirement. For balance, long-range precision weapons should have a meaningful drop that rewards player skill in compensating for it. The cohort recommendation for a sniper rifle caliber is Ballistic_Drop 0.06–0.08 with Muzzle_Velocity 850–950 — flat enough to be usable, but not so flat that every shot at range is a free hit.
Vanilla caliber reference table
The following table maps the commonly used vanilla caliber integer IDs to their in-game round identities. These IDs are the values used in vanilla gun .dat files under the Caliber field.
Verify against current game files
The table below reflects the Unturned stable release branch. Smartly Dressed Games may adjust caliber IDs between major updates. Always verify against the current vanilla .dat files in your local Unturned install at Bundles/Items/Guns/<weaponName>/ and Bundles/Items/Magazines/<magazineName>/. The official documentation at https://docs.smartlydressedgames.com/en/stable/ is the authoritative source.
| Caliber ID | Round designation | Typical velocity (m/s) | Typical effective range (m) | Representative vanilla weapon |
|---|---|---|---|---|
0 | Universal (any) | Varies | Varies | Any gun with no caliber restriction |
1 | 9×19mm Parabellum | 370 | 100–150 | Colt |
2 | 7.62×39mm | 710 | 200–300 | Zubeknakov |
3 | 5.56×45mm NATO | 920 | 250–350 | Maplestrike |
4 | 7.62×51mm NATO | 850 | 350–500 | Nykorev |
5 | 7.62×54mmR | 825 | 400–600 | Dragonfang |
6 | .50 BMG | 880 | 600–1200 | Grizzly |
7 | 12 gauge | 400 | 30–60 | Bluntforce |
8 | 9×18mm Makarov | 310 | 80–120 | Ace |
9 | 5.45×39mm | 900 | 230–320 | Maschinengewehr |
10 | .338 Lapua Magnum | 860 | 500–900 | Timberwolf |
11 | .45 ACP | 260 | 90–130 | Desert Falcon |
12 | 4.6×30mm HK | 720 | 150–200 | Honeybadger |
13 | 20mm anti-material | 950 | 700–1400 | Anti-material platforms |
Caliber IDs are not universal
Not every community mod uses these caliber IDs for the same rounds. The vanilla assignments above apply only to Smartly Dressed Games' own content. A third-party mod may assign Caliber 1 to a completely different round. Caliber integers are only meaningful within the scope of a single content package; they carry no cross-mod semantic guarantee.

Caliber GUID linking
Referencing a Caliber asset by GUID
When using GUID-based caliber, the gun .dat references the Caliber asset's GUID instead of (or in addition to) the integer Caliber field. The exact field syntax depends on the modding API version in use. The pattern is:
Caliber asset .dat:
GUID a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
Type Caliber
Name My_556_Caliber
Damage_Player 38.0
Damage_Zombie 55.0
Damage_Animal 45.0
Damage_Barricade 12.0
Damage_Vehicle 20.0
Damage_Resource 5.0
Damage_Structure 12.0
Range 350.0
Muzzle_Velocity 940.0
Ballistic_Drop 0.04
Ballistic_Steps 12Gun .dat (referencing Caliber GUID):
Caliber_GUID a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6Magazine .dat (referencing same Caliber GUID):
Caliber_GUID a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6GUID field name verification
The exact field name for GUID-based caliber reference varies between Unturned's major API versions. Before using GUID caliber linkage in a published mod, verify the current field name in the official documentation at https://docs.smartlydressedgames.com/en/stable/. Using a deprecated or incorrect field name will silently fall back to Caliber 0 (universal), which may not match the intended design.
Ballistic curve theory
The physics simulation model
Unturned uses a stepped Euler integration model for projectile ballistics rather than a continuous physics simulation. Each step moves the projectile forward by a distance derived from Muzzle_Velocity, then applies a downward displacement of Ballistic_Drop. After Ballistic_Steps steps, the projectile expires.
This model is computationally efficient but not physically accurate — it does not account for air resistance, spin stabilization, wind, or terminal velocity. For game-design purposes, the simplification is appropriate: the parameters give modders enough control to produce plausible-feeling trajectories without requiring real ballistic engineering knowledge.
Modeling specific round behaviors
The following profiles show how to configure the caliber fields to model the feel of specific round archetypes:
High-velocity, flat-shooting precision round (e.g., .338 Lapua Magnum):
Muzzle_Velocity 900.0
Ballistic_Drop 0.04
Ballistic_Steps 14
Range 900.0Pistol round with moderate arc (e.g., 9×19mm Parabellum):
Muzzle_Velocity 370.0
Ballistic_Drop 0.10
Ballistic_Steps 8
Range 130.0Shotgun buckshot at close range:
Muzzle_Velocity 400.0
Ballistic_Drop 0.20
Ballistic_Steps 5
Range 50.0Subsonic suppressed round:
Muzzle_Velocity 290.0
Ballistic_Drop 0.15
Ballistic_Steps 8
Range 100.040mm grenade with heavy arc:
Muzzle_Velocity 75.0
Ballistic_Drop 0.35
Ballistic_Steps 16
Range 200.0Arc feel vs. effective range
Range controls when the projectile expires, which the player experiences as maximum effective range. Ballistic_Drop × Ballistic_Steps controls the total arc depth, which the player experiences as bullet drop. These two parameters are largely independent — you can have a flat-shooting round with a short range (close-quarters suppressed SMG) or a high-arcing round with a long range (long-range mortar). Tune them independently to achieve the intended feel.
Special ammunition variants and caliber interaction
Many weapon mods ship multiple magazine variants for the same base gun: standard magazines, extended drums, and specialty ammo (hollow point, armor piercing, incendiary, tracer). All of these share the same caliber linkage but differ in their damage multiplier and visual behavior.
Specialty ammo configuration pattern
The recommended pattern for specialty ammo variants is to share the base caliber and override only the fields that differ:
| Ammo type | Player_Damage multiplier | Vehicle_Damage multiplier | Notes |
|---|---|---|---|
| Standard FMJ | 1.0 | 1.0 | Baseline; no multiplier override needed |
| Hollow point | 1.3 | 0.7 | Higher player damage, less effective vs. armor |
| Armor piercing | 0.9 | 1.8 | Reduced soft-target damage, strong vs. vehicles |
| Incendiary | 1.1 | 1.4 | Slightly increased across targets; adds fire effect |
| Tracer | 1.0 | 1.0 | Visual effect only; damage unchanged |
| Subsonic | 0.85 | 0.85 | Reduced damage; intended to pair with suppressor |
Tracer rounds
Tracer rounds in Unturned are configured at the magazine level with a projectile type flag, not through the caliber system. The tracer effect is a visual modifier; the damage values are inherited from the caliber as normal. Authors should not modify the caliber's damage fields to "simulate" tracer behavior.
Incendiary damage stacking
Incendiary ammunition interacts with Unturned's fire-propagation system. On maps with dry-resource tiles, incendiary rounds can trigger large-scale fires that affect far more players than intended. Test incendiary calibers on a local dedicated server with the target map before publishing to the Workshop.
Extended magazine capacity and caliber
Extended magazines (higher Amount in the magazine .dat) use the same caliber linkage as standard magazines. Caliber damage values and ballistic parameters are unchanged by magazine capacity. The only magazine-level field that affects damage output is Player_Damage (and its equivalents for other damage targets), which acts as a multiplier on the caliber's base damage.
Caliber testing workflow for a new weapon family
Common caliber-linkage mistakes
| Mistake | Symptom | Resolution |
|---|---|---|
Gun Caliber ≠ magazine Caliber_Reference | Magazine refuses to seat in gun | Set both to the same non-zero value (or set one to 0 for universal) |
| GUID caliber field name incorrect | Falls back to Caliber 0 silently; any magazine seats | Verify field name against official docs |
Damage_Player set to 0 | Gun fires but deals no damage | Set Damage_Player to intended value (minimum 1.0) |
Range set too low | Shots appear to do nothing at medium distance | Increase Range to match intended effective engagement distance |
Muzzle_Velocity set too low | Bullet arc drops immediately below terrain | Increase Muzzle_Velocity to at least 200 m/s for ground-level firing |
Ballistic_Drop set too high | Shots drop immediately; close-range misses | Reduce Ballistic_Drop below 0.20 for standard weapons |
Ballistic_Steps set to 0 | Projectile expires instantly at firing | Set Ballistic_Steps to at least 6 |
Magazine Player_Damage mistakenly set above 1.0 | Damage multiplied higher than caliber intends | Set Player_Damage in magazine .dat to 1.0 for standard ammo |
| Two calibers share the same integer ID in a mod | Both guns accept each other's magazines | Assign unique caliber IDs to each weapon family |
Zero damage is a silent failure
A gun that deals zero damage does not produce an error. The gun fires, the animation plays, the shell ejects, the round count decrements — everything appears to work. The only evidence of a zero-damage configuration is that targets are unaffected. Always test against a spawned target (zombie or player dummy on a private server) to confirm damage is being applied.
Appendix A: Caliber .dat field quick reference
| Field | Type | Required | Affects |
|---|---|---|---|
GUID | uint128 | Yes (GUID caliber) | Identity |
Type | enum (Caliber) | Yes | Identifies asset as a Caliber |
Name | string | Yes | Internal identifier only |
Damage_Player | float | No (default 40.0) | Player hit damage before falloff |
Damage_Zombie | float | No (default 60.0) | Zombie hit damage before falloff |
Damage_Animal | float | No (default 50.0) | Animal hit damage before falloff |
Damage_Barricade | float | No (default 15.0) | Barricade hit damage |
Damage_Vehicle | float | No (default 25.0) | Vehicle hit damage |
Damage_Resource | float | No (default 5.0) | Resource node hit damage |
Damage_Structure | float | No (default 15.0) | Structure hit damage |
Range | float | No (default 200.0) | Effective range in meters; damage falloff endpoint |
Muzzle_Velocity | float | No (default 800.0) | Projectile speed in m/s |
Ballistic_Drop | float | No (default 0.05) | Per-step gravity displacement |
Ballistic_Steps | uint8 | No (default 10) | Number of trajectory simulation steps |
Penetration_Chance | float | No (default 0.0) | Surface penetration probability |
Appendix B: Caliber authoring decision tree
Appendix C: Caliber vs. attachment-slot compatibility — key distinction
This is a frequently confused distinction. There are two separate uses of "caliber" in Unturned modding:
| Use | Field name | Controls | System |
|---|---|---|---|
| Magazine-gun linkage | Caliber (gun) + Caliber_Reference (magazine) | Which magazines seat in which gun | Integer or GUID match |
| Attachment-gun linkage | Caliber (gun) + Caliber (attachment) | Which barrel/sight/grip/tactical attachments seat in which gun | Integer match only |
Both systems use the same Caliber field name on the gun, but with different partners: the magazine side uses Caliber_Reference, while the attachment side uses Caliber directly. A gun with Caliber 2 will accept:
- Magazines with
Caliber_Reference 2orCaliber_Reference 0. - Barrel attachments with
Caliber 2orCaliber 0. - Sight, grip, and tactical attachments always use
Caliber 0(universal) unless explicitly restricted.
Do not confuse the two systems
Trying to restrict barrel attachment compatibility using Caliber_Reference (the magazine field name) on the attachment .dat will not work. The attachment .dat uses Caliber (not Caliber_Reference) for its compatibility field.
Frequently asked questions
What is the difference between the Caliber field on a gun and the Caliber asset?
The Caliber field on a gun's .dat is a simple integer used for magazine and attachment compatibility matching. The Caliber asset is a separate .dat file identified by GUID that carries a full set of ballistic parameters — damage values, range, muzzle velocity — which the engine applies to projectiles fired by any gun or loaded by any magazine that references the asset's GUID. You can use the integer system without ever creating a Caliber asset file.
Does setting Caliber 0 on a gun mean the gun fires a "universal" round?
Setting Caliber 0 means the gun accepts any magazine regardless of the magazine's Caliber_Reference value. It does not describe the round itself — the ballistic parameters are still defined by the gun's per-field values (Player_Damage, Range, etc.) or by a GUID Caliber asset. Caliber 0 is purely a compatibility unlock, not a round description.
Can a gun accept magazines of different calibers?
No. The integer caliber system is a single-integer match — the gun has one Caliber value and accepts magazines that match it or have Caliber_Reference 0. There is no multi-caliber configuration in the standard .dat system. The closest workaround is to set the gun's Caliber 0 (universal), which accepts all magazines.
Why does my magazine deal less damage than the caliber specifies?
Check the magazine's Player_Damage field. If the magazine .dat includes a Player_Damage value below 1.0 (e.g., Player_Damage 0.75), the runtime multiplies the caliber's damage by that value. A caliber with Damage_Player 40 paired with a magazine Player_Damage 0.75 produces 30 effective damage per hit. Set Player_Damage 1.0 in the magazine .dat for standard damage with no reduction.
How do I make a round that damages vehicles more than players?
Set Damage_Vehicle higher than Damage_Player in the Caliber asset or the gun's direct damage fields. For an armor-piercing round, a configuration like Damage_Player 40, Damage_Vehicle 80 makes sense — the round punches through armor-plated surfaces but is no more lethal to unarmored targets than a standard round.
What happens if I set Ballistic_Steps to 1?
The projectile takes one simulation step and immediately expires. The effective range is extremely short — less than the muzzle velocity distance in one step, which is typically less than five meters. Use Ballistic_Steps 1 only for very close-range weapons like melee-range shotgun slugs or point-blank specialty weapons.
Can the damage falloff be non-linear?
Unturned's built-in damage falloff is linear (as described in this article). Non-linear falloff — such as no damage reduction until a threshold, then a steep drop — requires source-level modification of the damage system and is outside the scope of standard .dat modding.
How does penetration work?
When Penetration_Chance is greater than 0, each time the projectile impacts a surface, there is a probability equal to the field value that the projectile continues through the surface and remains active on the other side. A value of 0.5 gives a 50% chance to penetrate each surface hit. Penetration is applied independently to each surface the projectile encounters. This is used for armor-piercing rounds and high-caliber anti-material projectiles.
Can I use the same Caliber GUID across multiple mods?
Not safely. GUIDs are globally unique identifiers — if two mods define a Caliber asset with the same GUID, the last-loaded mod's definition will override the other. Generate a fresh GUID for every new Caliber asset using any standard UUID generator, then remove the hyphens to produce the 32-character format Unturned expects.
What is the maximum effective range for any vanilla round?
The highest Range value in the vanilla weapon set is approximately 1,200 meters, used by the anti-material rifle. Standard rifles are in the 250–500 meter range. Setting Range above 1,500 in a custom caliber is possible but produces a weapon that can engage targets across map-scale distances, which may be inappropriate for most servers.
Does muzzle velocity affect spread?
No. Muzzle_Velocity governs the ballistic arc. Spread is controlled by the gun's Spread_Hip and Spread_Aim fields and modified by grip and sight attachments. The two systems are independent.
How do I make a subsonic suppressed round that is noticeably different from a standard round?
Lower the Muzzle_Velocity significantly (e.g., 290 m/s), increase Ballistic_Drop (e.g., 0.12), and reduce Range (e.g., 100 m). Then pair this caliber with a suppressor barrel attachment carrying the Silenced flag. The result is a round that is ballistically distinct from the standard caliber — players who equip the suppressor experience a meaningful trade-off between noise reduction and engagement distance.
What does Resource damage actually hit?
Damage_Resource applies to harvestable resource nodes: trees, rocks, ore deposits, fuel cans in the world, and similar world objects tagged as resources. It does not apply to player-placed objects (those use Damage_Barricade or Damage_Structure). Setting Damage_Resource to a low value (e.g., 5.0) prevents weapons from being efficient tools for harvesting resources while still allowing them to interact with the world meaningfully.
End-to-end caliber authoring example
The following example walks through authoring caliber linkage for a fictional weapon family: two rifles and two magazine variants that all fire the same custom round.
Step 1 — choose a custom caliber ID in the 50000+ range:
Caliber 52001Step 2 — assign to both gun .dats:
# PrimaryRifle.dat
Caliber 52001
Magazine 52010
# CarbineRifle.dat
Caliber 52001
Magazine 52010Step 3 — assign to all magazine .dats:
# StandardMagazine.dat
Caliber_Reference 52001
Amount 30
Player_Damage 1.0
# ExtendedDrum.dat
Caliber_Reference 52001
Amount 50
Player_Damage 1.0Step 4 — verify in single-player: spawn both guns and both magazines with @give. Confirm each magazine seats in each rifle and does not seat in unrelated vanilla guns with different calibers.
Cross-references
- Attachment Slots: Sight, Grip, Tactical, Barrel — the previous article; covers how the caliber integer also gates attachment compatibility.
- Gun Mod Tutorial — covers the gun
.datdamage and ballistic fields that work alongside Caliber asset values. - Magazine Asset — covers the magazine
.datstructure includingCaliber_Referenceand the damage multiplier field. - Food, Water, and Medical Items — the next article in the items section.
- Smartly Dressed Games modding documentation — authoritative source for field names and enumeration values; always verify against this before shipping.
- Unturned on Steam — the game's Steam page; confirms the current game version and update history.
Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2025-05-18 | 57 Studios | Initial publication. Full Caliber asset reference: integer and GUID linkage, damage fields, falloff model, muzzle velocity, vanilla table, ballistic theory, FAQ. |
