Caliber Assets

The ItemCaliberAsset class is a base class that other classes are derived from. It is unusable on its own.

Game Data File

The ItemCaliberAsset class inherits properties from the ItemAsset class.

Properties

Property Name

Type

Default Value

Aiming_Movement_Speed_Multiplier

float32

1

Aiming_Recoil_Multiplier

float32

1

Aim_Duration_Multiplier

float32

1

Ballistic_Damage_Multiplier

float32

See description

Calibers

uint8

0

Caliber_#

uint16

0

Damage

float32

deprecated

Destroy_Attachment_Colliders

bool

true

Firerate

uint8

0

Instantiated_Attachment_Name_Override

string

See description

Paintable

flag

Recoil_X

float32

1

Recoil_Y

float32

1

Shake

float32

1

Spread

float32

1

Sway

float32

1

Property Descriptions

Aiming_Movement_Speed_Multiplier float32 1

Multiplier on character movement speed while aiming down sights.


Aiming_Recoil_Multiplier float32 1

Multiplier on recoil magnitude while aiming down sights.


Aim_Duration_Multiplier float32 1

Multiplier on the value of Aim_In_Duration property available to the ItemGunAsset class.


Ballistic_Damage_Multiplier float32

Multiplier on damage. Defaults to the value of the Damage property, or 1 if both properties are unset.


Caliber_# uint16 0

Legacy ID of a caliber to check for attachment compatibility. This property is used in conjunction with Calibers, which determines how many instances of this property should be read by the game.

When this property is unset, it will default to 0. When the Magazine_Calibers property is not greater than 0, this property will default to the value of Caliber.


Calibers uint8 0

Set the length of the array containing the calibers for attachment compatibility. This property is used in conjunction with the Caliber_# property, and the value of Calibers should be equal to the number of instances of Caliber_#.


Damage float32

Deprecated since version 3.27.0.0: Use Ballistic_Damage_Multiplier instead.

Maintained for backwards compatibility. If both this property and Ballistic_Damage_Multiplier have been set, the latter’s value is used.


Destroy_Attachment_Colliders bool true

When false, colliders are not destroyed when the attached ranged weapon’s colliders are destroyed. This property exists for backwards compatibility with mods that may have relied on attachments having colliders, but using this property is not recommended.

Caution

Mods with complex colliders on their custom attachments are frequently reported as causing low performance issues for players. It is recommended that your custom attachments do not rely on having colliders.


Firerate uint8 0

The value of the attached ranged weapon’s Firerate property is reduced by the value of this property. A larger decrease will allow for the ranged weapon to fire more often.


Instantiated_Attachment_Name_Override string

Name to use when instantiating attachment prefab. By default, the value of GUID is used. Since Unity’s built-in Animation component references GameObjects by name, this property can help share animations between items.

For example, a magazine attachment with GUID dbfb1d0d11ca438e9dffb95f76e61274 will instantiate Magazine.prefab as (Gun)/Magazine/dbfb1d0d11ca438e9dffb95f76e61274 by default. With Instantiated_Attachment_Name_Override set to β€œExample” it would instead spawn as (Gun)/Magazine/Example.


Paintable flag

When this flag is included, the attachment should be affected by Steam Economy skins that include support for skinning attachments.


Recoil_X float32 1

Multiplier on horizontal recoil.


Recoil_Y float32 1

Multiplier on vertical recoil.


Shake float32 1

Multiplier on shake.


Spread float32 1

Multiplier on bullet spread.


Sway float32 1

Multiplier on scope sway.