Skip to content

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.

Caliber linkage diagram: gun, magazine, and ammunition all referencing the same Caliber ID

What you will learn

  • What the Caliber asset is and how it differs from the Caliber integer 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 Range field 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:

FieldLocationTypeDescription
CaliberGun .datuint16The caliber ID the gun fires. A magazine must match this value to be accepted.
Caliber_ReferenceMagazine .datuint16The 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 0 accepts any magazine regardless of its Caliber_Reference.
  • Magazine with Caliber_Reference 0 seats in any gun regardless of its Caliber.

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 60001

Magazine .dat fragment:

Caliber_Reference 50001
Amount 30

Both 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:

FieldTypeRequiredDefaultDescription
GUIDuint128YesThe 128-bit GUID for this Caliber asset. Referenced by gun and magazine GUIDs.
TypeenumYesMust be Caliber.
NamestringYesInternal name for reference (e.g., NATO_556x45mm). Not displayed in-game.
Damage_PlayerfloatNo40.0Base damage to a player hit by a projectile of this caliber.
Damage_ZombiefloatNo60.0Base damage to a zombie on impact.
Damage_AnimalfloatNo50.0Base damage to an animal on impact.
Damage_BarricadefloatNo15.0Base damage to player-placed barricades (walls, doors, spikes).
Damage_VehiclefloatNo25.0Base damage to vehicles (cars, trucks, APCs) per hit.
Damage_ResourcefloatNo5.0Base damage to harvestable resource nodes (trees, rocks, ore).
Damage_StructurefloatNo15.0Base damage to player-placed structures (floors, walls, roofs).
RangefloatNo200.0The maximum effective range in meters. Damage begins falling off before this point.
Muzzle_VelocityfloatNo800.0The projectile muzzle velocity in meters per second. Higher values flatten the ballistic arc.
Ballistic_DropfloatNo0.05Per-step projectile drop. Governs the arc of the trajectory.
Ballistic_Stepsuint8No10Number of trajectory simulation steps. More steps produce a smoother arc over longer ranges.
Penetration_ChancefloatNo0.0Probability (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 12

Example 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 6

Shotgun 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:

TargetFieldWhy it differs from player damage
PlayerDamage_PlayerThe primary combat damage value. Tuned against player health (100 HP default).
ZombieDamage_ZombieZombies have more HP than players in many maps; zombie damage is typically higher.
AnimalDamage_AnimalAnimals are typically lower-HP than zombies; animal damage can be lower.
BarricadeDamage_BarricadePlayer-placed barricades have defined HP; damage tuned against barricade HP values.
VehicleDamage_VehicleVehicles have significantly more HP than characters; vehicle damage is typically higher than barricade damage.
ResourceDamage_ResourceResource nodes are invulnerable to low damage; this field requires a minimum effective value.
StructureDamage_StructurePlayer 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_Damage

This 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.81.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 distanceDamage multiplierDamage applied
0 m (point blank)1.0040
50 m0.7530
100 m0.5020
150 m0.2510
200 m (range limit)0.000
> 200 m0.000 (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 classDamage_PlayerDamage_ZombieDamage_BarricadeDamage_VehicleRange
Pistol30–4045–6010–1515–20100–150
PDW / SMG25–3538–558–1212–18120–200
Assault rifle35–4550–7012–1818–25200–350
Battle rifle50–6570–9518–2525–35300–500
Sniper rifle80–120110–16025–4035–50500–1000
Shotgun (per pellet)15–2522–386–1010–1530–60
LMG38–5055–7515–2022–30250–400
Anti-material rifle100–150140–20040–8080–120600–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_Steps

For 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 typeBallistic_StepsBallistic_DropTotal arc
High-velocity rifle120.030.36 m
Standard rifle100.050.50 m
Pistol80.080.64 m
Shotgun buckshot60.181.08 m
Subsonic suppressed100.121.20 m
Grenade (40mm)150.253.75 m
Mortar round200.408.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.060.08 with Muzzle_Velocity 850950 — 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 IDRound designationTypical velocity (m/s)Typical effective range (m)Representative vanilla weapon
0Universal (any)VariesVariesAny gun with no caliber restriction
19×19mm Parabellum370100–150Colt
27.62×39mm710200–300Zubeknakov
35.56×45mm NATO920250–350Maplestrike
47.62×51mm NATO850350–500Nykorev
57.62×54mmR825400–600Dragonfang
6.50 BMG880600–1200Grizzly
712 gauge40030–60Bluntforce
89×18mm Makarov31080–120Ace
95.45×39mm900230–320Maschinengewehr
10.338 Lapua Magnum860500–900Timberwolf
11.45 ACP26090–130Desert Falcon
124.6×30mm HK720150–200Honeybadger
1320mm anti-material950700–1400Anti-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.

Vanilla caliber selection guide: choosing the right caliber ID for a new weapon mod

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 12

Gun .dat (referencing Caliber GUID):

Caliber_GUID a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

Magazine .dat (referencing same Caliber GUID):

Caliber_GUID a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

GUID 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.0

Pistol round with moderate arc (e.g., 9×19mm Parabellum):

Muzzle_Velocity 370.0
Ballistic_Drop 0.10
Ballistic_Steps 8
Range 130.0

Shotgun buckshot at close range:

Muzzle_Velocity 400.0
Ballistic_Drop 0.20
Ballistic_Steps 5
Range 50.0

Subsonic suppressed round:

Muzzle_Velocity 290.0
Ballistic_Drop 0.15
Ballistic_Steps 8
Range 100.0

40mm grenade with heavy arc:

Muzzle_Velocity 75.0
Ballistic_Drop 0.35
Ballistic_Steps 16
Range 200.0

Arc 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 typePlayer_Damage multiplierVehicle_Damage multiplierNotes
Standard FMJ1.01.0Baseline; no multiplier override needed
Hollow point1.30.7Higher player damage, less effective vs. armor
Armor piercing0.91.8Reduced soft-target damage, strong vs. vehicles
Incendiary1.11.4Slightly increased across targets; adds fire effect
Tracer1.01.0Visual effect only; damage unchanged
Subsonic0.850.85Reduced 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

MistakeSymptomResolution
Gun Caliber ≠ magazine Caliber_ReferenceMagazine refuses to seat in gunSet both to the same non-zero value (or set one to 0 for universal)
GUID caliber field name incorrectFalls back to Caliber 0 silently; any magazine seatsVerify field name against official docs
Damage_Player set to 0Gun fires but deals no damageSet Damage_Player to intended value (minimum 1.0)
Range set too lowShots appear to do nothing at medium distanceIncrease Range to match intended effective engagement distance
Muzzle_Velocity set too lowBullet arc drops immediately below terrainIncrease Muzzle_Velocity to at least 200 m/s for ground-level firing
Ballistic_Drop set too highShots drop immediately; close-range missesReduce Ballistic_Drop below 0.20 for standard weapons
Ballistic_Steps set to 0Projectile expires instantly at firingSet Ballistic_Steps to at least 6
Magazine Player_Damage mistakenly set above 1.0Damage multiplied higher than caliber intendsSet Player_Damage in magazine .dat to 1.0 for standard ammo
Two calibers share the same integer ID in a modBoth guns accept each other's magazinesAssign 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

FieldTypeRequiredAffects
GUIDuint128Yes (GUID caliber)Identity
Typeenum (Caliber)YesIdentifies asset as a Caliber
NamestringYesInternal identifier only
Damage_PlayerfloatNo (default 40.0)Player hit damage before falloff
Damage_ZombiefloatNo (default 60.0)Zombie hit damage before falloff
Damage_AnimalfloatNo (default 50.0)Animal hit damage before falloff
Damage_BarricadefloatNo (default 15.0)Barricade hit damage
Damage_VehiclefloatNo (default 25.0)Vehicle hit damage
Damage_ResourcefloatNo (default 5.0)Resource node hit damage
Damage_StructurefloatNo (default 15.0)Structure hit damage
RangefloatNo (default 200.0)Effective range in meters; damage falloff endpoint
Muzzle_VelocityfloatNo (default 800.0)Projectile speed in m/s
Ballistic_DropfloatNo (default 0.05)Per-step gravity displacement
Ballistic_Stepsuint8No (default 10)Number of trajectory simulation steps
Penetration_ChancefloatNo (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:

UseField nameControlsSystem
Magazine-gun linkageCaliber (gun) + Caliber_Reference (magazine)Which magazines seat in which gunInteger or GUID match
Attachment-gun linkageCaliber (gun) + Caliber (attachment)Which barrel/sight/grip/tactical attachments seat in which gunInteger 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 2 or Caliber_Reference 0.
  • Barrel attachments with Caliber 2 or Caliber 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 250500 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 52001

Step 2 — assign to both gun .dats:

# PrimaryRifle.dat
Caliber 52001
Magazine 52010

# CarbineRifle.dat
Caliber 52001
Magazine 52010

Step 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.0

Step 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

Document history

VersionDateAuthorNotes
1.02025-05-1857 StudiosInitial publication. Full Caliber asset reference: integer and GUID linkage, damage fields, falloff model, muzzle velocity, vanilla table, ballistic theory, FAQ.