Skip to content

Item Asset Property Reference

Every item in Unturned™ is defined by a set of plain-text .dat configuration files that the engine reads at load time. The Item Asset class, the root of Unturned™'s item hierarchy, exposes a shared set of approximately forty-four properties that apply to every item type: guns, magazines, clothing, food, medical supplies, melee weapons, traps, tools, and every other category of carryable object. Understanding these shared properties, their types, their defaults, and their interactions is the foundational prerequisite for authoring any item mod. A modder who knows the shared property set can write a correct .dat for any item type; a modder who does not will encounter silent parse failures, unexplained inventory behavior, and fields that do nothing because they were placed on the wrong asset type.

This article is the 57 Studios™ canonical reference for the shared item asset property surface. It documents every property in the ItemAsset base class, the four enumerations that govern slot assignment, rarity tier display, equipable-model attachment, and useable-type behavior, the Unity asset bundle contents that every item folder must include, the file structure that the parser expects, the localization convention for display names and descriptions, and the property inheritance model that determines which fields are shared across all items and which are type-specific. This article is the parent reference that all individual asset-type articles (weapon, magazine, clothing, food, medical, melee, throwable, resource, storage) extend and reference. Every field documented here appears in those articles as assumed context; every field documented in those articles is built on top of the shared surface documented here.

A diagram showing the item asset property tree branching into type-specific categories

Documentation source: This article references the official Smartly Dressed Games modding documentation for the ItemAsset class property definitions, the EEquipableModelParent, EUseableType, ESlotType, and EItemRarity enumerations, and the Unity asset bundle specification. All property names, types, default values, and descriptions in the reference table below are drawn directly from the SDG documentation chapter on Item Assets.

Who this article is for

This article is written for Unturned™ mod authors who have completed the orientation articles in the getting-started section and are approaching their first item mod. It presupposes that the reader has a Unity editor installed, a text editor configured to save .dat files as UTF-8 without BOM, and a working understanding of the GUID system and folder-structure conventions documented in Project Folder Structure and GUIDs and Item Asset Anatomy. Readers who have not yet read those articles should start there and return here with the shared context they establish.

What you will learn

  • The complete shared property surface of the ItemAsset base class, with field name, type, required/optional designation, default value, and documented purpose for all forty-four properties
  • The four enumerations that every item asset references: EItemRarity, ESlotType, EEquipableModelParent, and EUseableType
  • The Unity asset bundle contents that every item folder must include: the Item prefab, the Animations prefab, the Equip audio clip, and optional skin base textures
  • The game data file structure that the parser expects, including the significance of the GUID, Type, and ID fields as required identity properties
  • The property inheritance model: which properties are shared across all item types and which are endemic to specific asset subclasses
  • The localization convention for English.dat files, including the Name and Description stubs
  • How to interpret field types, validate default values, and avoid the most common property-configuration mistakes
  • A worked example of a complete non-equippable item .dat with every shared field populated and annotated

Background: how item properties are read at load time

Unturned™ loads item assets through a multi-stage pipeline. The first stage is asset discovery: the game scans the Bundles/Items/ directory structure, locates every folder containing a .dat or .asset file, and registers each found asset by its GUID and ID in an internal manifest. The second stage is property parsing: for each registered asset, the game reads the file line by line, tokenizing each line into a property name and a property value, and maps the parsed values onto the ItemAsset class (or a subclass of it) through a reflection-based deserializer. The third stage is validation: the game checks that required fields are present, that enum values match known members, that GUIDs are unique across the loaded asset set, and that type-specific rules (e.g., a magazine must have a Caliber_Reference) are satisfied.

A property that appears in the .dat file but is not defined on the target asset class (or any of its parent classes in the inheritance chain) is silently ignored by the parser. This is the most common source of "why is my field not working?" bugs in item modding. A modder who places a type-specific property (e.g., Damage_Player, which belongs to the melee weapon subclass) on a non-melee item will find the field parsed without error but producing no effect. The property reference table below documents exactly which class defines each property, so that modders can confirm that a given field is valid for the asset type being authored.

The parsing pipeline operates at game load time and at asset-reload time (triggered by the -ValidateAssets flag or by in-game asset-reload commands). The performance characteristics of the pipeline are determined primarily by the number of assets loaded, not by the number of properties per asset, because the deserializer processes all properties in a single linear pass per file. A .dat file with one hundred properties parses only marginally slower than a .dat file with ten properties; the overhead is dominated by file-system I/O, not by property deserialization.

As shown in the flowchart above, the asset-load pipeline proceeds through four sequential stages from discovery to registration. A failure at any stage prevents the asset from appearing in the game; a silent failure at the property-parsing stage (a type mismatch, a missing required field with a default) produces a loaded asset with unexpected values.

Unity asset bundle contents

The Unity asset bundle for an item must contain specific named assets that the engine looks up by convention at load time. The following subsections document each required and optional asset, the naming convention the engine expects, and the purpose each asset serves.

Item prefab

The Item prefab (Item.prefab) is the 3D model shown when the item is dropped on the ground, inspected in the inventory, or drawn for the item's icon. The prefab must be tagged as 4: Item and layered as 13: Item in Unity. A Box Collider component on the root GameObject is the standard collision setup; the recommended minimum collider dimension is (0.2, 0.2, 0.2) to prevent the item from falling through thin surfaces in a single physics tick.

For items with a single level of detail, the MeshFilter and MeshRenderer components can be attached directly to the root GameObject. For items with multiple LODs, a LOD Group component on the root GameObject references child GameObjects named Model_0, Model_1, and so on, each carrying its own MeshFilter and MeshRenderer for the corresponding LOD level.

An Icon child GameObject on the root determines the orthographic camera view for the item's inventory icon. The engine automatically calculates the camera position and size from the item's bounds if Use_Auto_Icon_Measurements is true (the default). The only manual configuration required is the orientation of the Icon child: rotating it adjusts the angle from which the inventory icon is rendered.

Animations prefab

Equippable items require an Animations prefab in the item folder. The prefab carries an Animation component on its root GameObject and is responsible for the first-person and third-person animation states that play when the item is equipped, used, and inspected.

Every equippable item must have an Equip animation state. Weapons that support the inspect action (the default inspect keybinding in Unturned™) must additionally have an Inspect animation. The animation names inside the Animation component must match the states expected by the item's useable script. For example, a melee weapon's Animations prefab must contain states named Slash, Stab, and Punch if those action types are configured in the .dat; a gun's Animations prefab must contain states for Shoot, Reload, and Equip.

Modders can either create the Animations prefab from scratch in Unity or duplicate it from the ExampleAssets.unitypackage provided by SDG, which includes vanilla animation sets for most item types. The vanilla animations are located along the CoreMasterBundle/Items path in the example package, with the raw animation files under Game/Sources/Animations.

Equip audio clip

An Audio Clip named Equip in the item folder produces a sound when the player equips the item. The audio clip is referenced by the EquipAudioClip property, which defaults to the Equip clip if one is found in the bundle. Omitting the clip results in a silent equip action, which is acceptable for items whose equip behavior is naturally quiet (food, medical supplies, tools), but is generally discouraged for combat items where audible feedback on equip is an expected part of the player's situational awareness.

Skin base textures

Items can optionally include texture-masking base images for skin support. The three base textures are Albedo_Base.png, Metallic_Base.png, and Emission_Base.png. When a skin is applied to an item that includes these base textures, the masked regions retain the original material from the base texture rather than being overwritten by the skin. This mechanism is primarily relevant for Workshop skin authors and for mods that intend to support community skin creation. For standalone item mods that do not support skins, the base textures can be omitted.

Game data file structure overview

The game data file (the .dat or .asset file in the item folder) is a plain-text configuration document that defines the item's identity, inventory characteristics, and gameplay behavior. The file is organized as a flat sequence of key-value pairs, one per line, with the key and value separated by whitespace. Comments are introduced with // and extend to the end of the line. The full syntax grammar is documented in Data File Format Reference; the present article focuses on the semantics of each recognized key.

The three identity properties (GUID, Type, and ID) are required on all item assets. These three fields collectively establish the item's identity in the game's asset registry and are the first properties the parser reads from any item .dat file. Most item assets additionally require (or strongly benefit from) the Rarity, Useable, Slot, Size_X, and Size_Y properties, which control the item's visual treatment in the inventory, its equip slot, and its grid footprint. The remaining shared properties are optional and carry documented default values that produce sensible behavior when omitted.

The parser reads the file line by line in linear order. The order of properties within the file does not affect the parsed result; the deserializer maps each key to its corresponding class field regardless of position. The convention across vanilla Unturned™ items and community mods is to group identity fields first (GUID, ID, Type, Name), followed by inventory fields (Rarity, Slot, Size_X, Size_Y), followed by behavioral fields (Useable, equipment settings, quality settings, special flags), followed by type-specific fields (which are outside the scope of this article but are documented in each individual asset-type article).

Every property defined in the ItemAsset base class is documented in the property reference table below. The table is organized by functional category: identity, inventory, equip-model, quality-and-durability, icon-rendering, skin, container, fishing, and special-purpose categories. Each row provides the field name, the data type, whether the field is required (a field is required if the asset cannot load without it), the default value applied when the field is omitted, and a description of the field's purpose and behavior.

Complete property reference table

Identity fields

FieldTypeRequiredDefaultPurpose
GUIDGUIDYes,Globally unique identifier for the item asset. Every item must carry a GUID whose value does not duplicate any other item's GUID. If the GUID property is omitted, the engine attempts to assign a random unique GUID during a successful load, but explicit GUID assignment is strongly recommended for all mod items.
IDuint16Yes0Numeric item identifier. Must be unique across all loaded mods and vanilla content. Community mods should use IDs in the 50000+ range to avoid collision with vanilla items and established community mods. The Bypass_ID_Limit flag is required when using an ID within the vanilla-reserved range (below 2000).
TypeEItemTypeYes,Designates the item's asset class. The value must be one of the known item type names recognized by the engine. The type determines which subclass of ItemAsset is instantiated and which additional type-specific fields the parser recognizes.
NamestringRecommended,Internal name for the item. Used in console commands (@give, @item), in cross-references from other .dat files, and as the default prefab lookup key in the master bundle. The folder name, .dat filename stem, and internal Name field should all match to minimize diagnostic confusion.
Instantiated_Item_Name_OverridestringOptionalValue of IDOverrides the name used when instantiating the Item prefab in the Unity scene. Because Unity's built-in Animation component references GameObjects by name, this property enables sharing animations between multiple items that reference the same prefab but must present different animation-binding targets.

Inventory fields

FieldTypeRequiredDefaultPurpose
RarityEItemRarityRecommendedCommonControls the color of the item's highlight and the text label shown in the inventory UI. The rarity value is also used as a weight shorthand in spawn-table configuration. See the EItemRarity enumeration reference later in this article for the complete list of valid values.
SlotESlotTypeRecommendedNoneDetermines which equipment slot the item occupies when equipped. None restricts the item to hotkey-only access. Primary restricts the item to the primary equipment slot. Secondary permits the primary or secondary slots. Any has no slot restrictions. The Slot property is only meaningful when Useable is set to a value other than None.
Size_Xuint8Recommended1The width of the item in inventory grid cells (the number of columns the item occupies when placed in the inventory panel). A value of 1 occupies a single column; a value of 2 occupies two; and so on.
Size_Yuint8Recommended1The height of the item in inventory grid cells (the number of rows the item occupies). Together with Size_X, this determines the rectangular footprint of the item in the player's inventory grid.
Should_Drop_On_DeathboolOptionaltrueControls whether the item drops as a world pickup when the carrying player dies. When false, the item is permanently removed from the game on death and does not spawn a drop. Relevant for quest items, admin debug tools, and items that should not proliferate through PvP looting.
Allow_Manual_DropboolOptionaltrueControls whether the player can voluntarily drop the item from inventory. Setting this to false prevents the player from discarding the item but does not prevent it from being consumed, used, or destroyed by other mechanics.
Bypass_ID_LimitflagConditionalnot setRequired when the item's ID falls within the range reserved for official vanilla content (below 2000). The presence of this flag signals to the parser that the modder is intentionally using a vanilla-range ID and accepts the collision risk. Community mods using IDs in the 50000+ range do not require this flag.
Bypass_Hash_VerificationboolOptionalfalseDisables the hash-verification check against the item's master bundle. When true, the engine allows the asset to load even if the bundle hashes do not match the expected values. Useful during rapid iteration when the modder is rebuilding bundles frequently. Should be set to false before publication.

Equip-model fields

FieldTypeRequiredDefaultPurpose
EquipablePrefabMaster Bundle PointerOptional,Overrides the prefab spawned when the item is equipped by the player. If this field is set, the engine loads the named prefab from the master bundle instead of the default Item prefab. This allows the equipped model (an animated skinned mesh) to differ from the ground/inventory model (a simpler static mesh).
EquipableModelParentEEquipableModelParentOptionalSee descriptionOverrides the player-skeleton bone to which the equipped item model is attached. See the EEquipableModelParent enumeration reference later in this article for the complete list of attachment points.
Destroy_Item_CollidersboolOptionaltrueWhen true (the default), the Item prefab's colliders are destroyed when the prefab is attached to the character. This prevents equipped items from having active collision geometry that would interfere with the player's movement or other physics interactions. When false, child colliders persist on the equipped model, which is necessary for mods that use equipped items as functional physics objects (e.g., riot shields).
Equipable_Movement_Speed_Multiplierfloat32Optional1Multiplier on the character's movement speed while the item is equipped in the player's hands. A value of 1 means no speed change. A value of 0.8 reduces speed by 20%. A value of 1.2 increases speed by 20%. If multiple movement-affecting items are equipped simultaneously (a gun with movement-modifying attachments), the multipliers are combined multiplicatively.
Left_Handed_Characters_Mirror_EquipableboolOptionaltrueWhen true (the default), the equipped item model is mirrored for left-handed character models to produce the correct visual orientation. When false, the mirroring is disabled, which may be desired for asymmetrical item models that should not be flipped for left-handed characters.
Procedurally_Animate_InertiaboolOptionaltrueWhen true, view-model animations accumulate angular velocity that produces a natural inertia effect during rapid camera movements. When false, the procedural inertia is disabled, which is recommended for high-quality modern animations that already incorporate subtle weight and swing in their authored keyframes.

Quality and durability fields

FieldTypeRequiredDefaultPurpose
Quality_Minuint8Optional10The minimum quality (durability percentage) at which the item can spawn in the world. Used with Quality_Max to define a spawn-quality range. Quality is displayed as a condition bar in the inventory UI.
Quality_Maxuint8Optional90The maximum quality at which the item can spawn. Items that spawn with values between Quality_Min and Quality_Max have a condition bar showing partial durability. A freshly-crafted item typically spawns at Quality_Max.
Should_Delete_At_Zero_QualityboolOptionalfalseWhen true, the item is deleted from the player's inventory when its quality (durability) reaches 0%. When false, the item persists at 0% quality and can potentially be repaired.
Deleted_At_Zero_Quality_EffectAsset Pointer to Effect AssetsOptional0If Should_Delete_At_Zero_Quality is true, this effect (referenced by asset GUID) is played when the item breaks. The effect plays at the item's position and can include visual particles and audio.
Deleted_At_Zero_Quality_RewardsRewardsOptional0If Should_Delete_At_Zero_Quality is true, the rewards configured here are granted to the player when the item breaks. Rewards can include experience, item drops, or currency. Used primarily for items that should provide a consolation return on destruction.
Override_Show_QualityboolOptionalfalseOverride that forces the quality (condition) bar to be displayed in the inventory UI even when quality display would normally be suppressed for this item type.
Amountuint8Optional1The maximum capacity for container-like items, such as ammunition boxes, magazines, or stackable consumables. When used as a container capacity, this field is paired with Count_Min and Count_Max to control spawn-fill behavior.
Count_Minuint8Optional1The minimum amount to generate when a container-like item spawns in the world. For example, an ammunition box with Count_Min 5 and Count_Max 20 spawns with between 5 and 20 rounds on its first generation.
Count_Maxuint8Optional1The maximum amount to generate when a container-like item spawns. Paired with Count_Min and Amount to define the spawn-fill range for container items.

Icon rendering fields

FieldTypeRequiredDefaultPurpose
Use_Auto_Icon_MeasurementsboolOptionaltrueWhen true (the default), the engine automatically calculates the axis-aligned orthographic camera size for the item's inventory icon based on the Item prefab's bounding box. When false, the Size_Z field controls the icon camera size manually.
Size_Zfloat32Optional-1Manually specifies the orthographic camera size for the item's inventory icon, corresponding directly to the Size property of a Unity Camera component. Only used when Use_Auto_Icon_Measurements is set to false. Values of -1 indicate that automatic measurement should be used (the default).
Size2_Zfloat32Optional-1Manually specifies the orthographic camera size for economy (skin-preview) icons. The same behavior as Size_Z but for the secondary economy icon render. Values of -1 indicate automatic sizing.

Skin and texture fields

FieldTypeRequiredDefaultPurpose
Shared_Skin_Lookup_IDuint16OptionalValue of IDCauses this item to share skins with another item identified by the given ID. When a player applies a skin owned for the target item, this item receives the same skin visual treatment. Used for creating cosmetic variants of an item that inherit skin collections from a base item.
Shared_Skin_Apply_VisualsboolOptionaltrueWhen false, and Shared_Skin_Lookup_ID is set, the skin material and mesh are not applied to this item even though the skin's metadata (kill counter, ragdoll effect, stat track) is transferred. A custom axe can display a vanilla axe's kill counter without adopting the vanilla axe's material.
Ignore_TexRWflagOptionalnot setSuppresses read-write texture errors in the Unity error log for this asset. Useful for items whose textures legitimately need read-write access and would otherwise generate log-spam warnings during asset validation.

Special-purpose fields

FieldTypeRequiredDefaultPurpose
UseableEUseableTypeRecommendedNoneAssociates a useable script with the item, granting it interactive functionality beyond passive inventory storage. An item with Useable None cannot be equipped and has no primary, secondary, or tertiary action. An item with Useable Melee gains the melee-weapon behavior documented in the Melee Asset article. This property is the gate for the Slot property: without a non-None useable, slot assignment has no effect.
Can_Player_EquipboolOptionalSee descriptionControls whether the item can be equipped by a human player. When false, the item can still be used by non-player entities (sentries, NPCs in modded scenarios) that reference the item by its useable behavior. Defaults to true if Useable has been set to any value other than None; otherwise defaults to false.
Can_Use_UnderwaterboolOptionalSee descriptionControls whether the item can be used while the player is submerged. If Slot has not been set to Primary, this defaults to true. Otherwise defaults to false, reflecting the design assumption that primary weapons (rifles, shotguns) should not function underwater without explicit configuration.
Add_Default_ActionsboolOptionalSee descriptionWhen true, the engine automatically adds context-menu actions for refilling ammunition, repairing, and salvaging blueprints. Defaults to true if no explicit Actions block is specified in the .dat. When false, only explicitly authored actions appear in the context menu.
ProflagOptionalnot setMarks the item as a Steam Economy (PRO/Gold-tier) item. Non-PRO players can see and pick up the item but cannot use it. The presence of this flag gates the item behind the Unturned™ premium upgrade. Workshop mods should leave this flag unset unless the mod intentionally creates PRO-exclusive content.
Fishing_CatchableFishingCatchablePropertiesOptional,Overrides the properties applied when this item is caught by a fishing rod. The Fishing Catchable Properties sub-object defines the catch behavior, rarity weighting, and animation trigger. Refer to the fishing section of the official SDG documentation for the Fishing Catchable Properties sub-fields.
EquipAudioClipMaster Bundle PointerOptionalEquipSpecifies the AudioClip to play when the item is equipped. The pointer references a named audio asset in the item's master bundle. The default value (Equip) causes the engine to look for an AudioClip literally named Equip in the bundle.
InspectAudioDefMaster Bundle PointerOptional,Specifies an AudioClip or OneShotAudioDefinition to play when the item is inspected (the default inspect keybinding in Unturned™). If omitted, the inspect action produces no sound.
InventoryAudioMaster Bundle PointerOptionalSee descriptionSpecifies an AudioClip or OneShotAudioDefinition to play when the item is picked up, moved within the inventory, or dropped. The default value depends on the child asset subclass, with most categories defaulting to a generic pickup sound.
Backwardflagdeprecated,A deprecated flag from earlier Unturned™ versions. When present, forces the equipable model to attach to the LeftHook bone instead of the default RightHook. Modern items should use EquipableModelParent with an explicit LeftHook value instead of this deprecated flag.

Action and blueprint properties

In addition to the shared properties documented above, item assets can specify crafting blueprints and context-menu actions through an Actions block and a Blueprints block. The Actions block defines the entries that appear in the item's right-click context menu, including refill, repair, salvage, and custom user-defined actions. The Blueprints block defines the crafting recipes that produce this item and the recipes that consume this item as an ingredient. The full blueprint syntax and action configuration are documented in the official SDG modding documentation and will receive a dedicated article in the items section.

If no Actions block is present and Add_Default_Actions is true (the default), the engine automatically generates the standard refill-ammo, repair, and salvage-blueprint actions. This automatic generation is the reason most vanilla items do not carry explicit Actions blocks; the default behavior covers the standard use cases.

Enumeration references

The following four enumerations appear as property types across multiple fields in the property reference table above. Each subsection documents the valid values, their meaning, and examples of items that use each value.

EItemRarity

The rarity enumeration controls the item's highlight color in the inventory UI and the text label displayed below the item name. Rarity is purely cosmetic at the engine level; it does not directly affect spawn rates, damage, or other gameplay properties. Spawn-table weights use rarity as a shorthand but are configured independently.

ValueInventory highlight colorTypical use
CommonWhite / grayStandard items; the default rarity for most ammunition, food, and basic tools
UncommonGreenAbove-average items; moderate gear upgrades
RareBlueHigh-value items; found less frequently in loot
EpicPurpleSpecialty items; significant upgrades over standard gear
LegendaryOrange / goldOne-of-a-kind items; boss drops, quest rewards, special-edition content
MythicalRedThe highest rarity tier; reserved for items of extreme rarity and power

The color values listed above are approximate; the exact RGB values are defined in the Unturned™ UI theme and may vary across game updates. Mods that override the UI theme may render rarity colors differently.

ESlotType

The slot enumeration determines which equipment slot the item occupies when equipped. The slot system is the mechanism by which Unturned™ limits the player to one primary weapon, one secondary weapon, and hotkey-accessible items.

ValueDescription
NoneNo slot restriction. The item can be assigned to a hotkey (keys 1-8 by default) but does not occupy the primary or secondary equipment slot. Used for all non-equippable items (magazines, food, medical supplies, crafting materials) and for items that are equipped through the hotkey bar rather than through the dedicated weapon slots.
PrimaryRestricts the item to the primary equipment slot (slot 1). Only one primary item can be equipped at a time. Used for rifles, shotguns, two-handed melee weapons, and other large weapons.
SecondaryPermits the item to occupy either the primary or the secondary equipment slot (slots 1 or 2). Used for pistols, one-handed melee weapons, and compact tools.
TertiaryNot implemented in the current version of the ItemAsset class. Listed in the enum for forward compatibility.
AnyNo slot restriction beyond the hotkey bar. The item can be hotkeyed to any available slot without occupying a dedicated equipment position.

The slot restriction is enforced by the engine's equipment manager. A player who attempts to equip a primary-slot item while a primary item is already equipped will exchange the two items: the current primary item is unequipped first, and the new primary item is equipped.

EEquipableModelParent

The equipable-model parent enumeration overrides the player-skeleton bone to which the equipped item model is attached. The default attachment point is RightHook, which places the item in the player character's right hand.

ValueAttachment boneDescription
RightHookRight handThe item is attached to the Right_Hook bone in the player skeleton. This is the default and places the item in the character's right hand. Used for all standard weapons and tools.
LeftHookLeft handThe item is attached to the Left_Hook bone. Used for off-hand items, dual-wield setups, and items that the player carries in the left hand. The deprecated Backward flag forces this attachment point.
SpineSpine (back)The item is attached to the Spine bone, placing it on the character's back. This attachment point provides a better interpolation space for items that animate between hands during use (e.g., a weapon that is drawn from the back, fired, and then returned).
SpineHookSpine childThe item is attached to the Spine_Hook bone, an optional extra child bone of the Spine bone. Used when the modder has added a custom attachment point to the character skeleton and wants the item to attach there rather than to the default Spine bone.

EUseableType

The useable-type enumeration associates a gameplay script with the item. Each value corresponds to a C# class in the Unturned™ assembly that implements the item's interactive behavior. The complete list below includes all values recognized by the current version of the engine.

ValueUseable classDescription
None,No useable behavior. The item is not equippable and has no primary, secondary, or tertiary action. Used for crafting materials, building supplies, and other inventory-only items.
ClothingUseableClothingClothing items that are worn on the player character model (hat, shirt, pants, mask, vest, backpack, glasses).
GunUseableGunFirearms with trigger, bolt, pump, or break action. Supports attachment slots, caliber matching, and magazine loading.
ConsumeableUseableConsumeableFood, water, and medical items that are consumed on use. Supports hunger, thirst, health, and status-effect restoration.
MeleeUseableMeleeMelee weapons (knife, sword, axe, club, sledgehammer). Supports primary and secondary attack actions with hit-cast damage.
FuelUseableFuelFuel canisters and containers used to refill vehicle fuel tanks.
CarjackUseableCarjackThe carjack tool used to flip overturned vehicles.
BarricadeUseableBarricadePlaceable barricades (storage boxes, spike traps, wire fences, generators, and other player-placed objects).
StructureUseableStructurePlaceable structures (walls, floors, roofs, pillars, and other building components placed with the structure-build tool).
ThrowableUseableThrowableGrenades, smoke canisters, flares, and other items thrown by the player.
GrowerUseableGrowerSeeds and planting items that are placed in soil and grow into harvestable crops over time.
OpticUseableOpticOptical devices (binoculars, rangefinders) that provide a zoomed view when equipped.
RefillUseableRefillItems that refill other items (e.g., a water bottle refilled at a water source).
FisherUseableFisherFishing rods used to catch fish from bodies of water.
CloudUseableCloudCloud-spawning items (signal flares, smoke markers) that create a visible cloud effect at the target location.
Arrest_StartUseableArrestStartThe arrest-initiating tool (handcuffs, zip ties) used to begin an arrest interaction with another player.
Arrest_EndUseableArrestEndThe arrest-terminating tool (handcuff key) used to end an arrest interaction.
DetonatorUseableDetonatorDetonator items that trigger remote explosives.
FilterUseableFilterGas mask filters and breathing-apparatus items that provide underwater or toxic-environment breathing time.
CarlockpickUseableCarlockpickThe car lockpick tool used to break into locked vehicles.

Property inheritance model

The ItemAsset class is the root of a deep inheritance hierarchy. Every item type in Unturned™ is a subclass of ItemAsset, and each subclass adds type-specific properties on top of the shared set documented in this article. The inheritance relationship determines which properties a given item .dat file recognizes:

The hierarchy above shows the principal subclasses. A gun .dat file recognizes all properties from ItemAsset (shared), all properties from ItemGunAsset (weapon-type), and all properties from any further subclass of ItemGunAsset (if applicable). A magazine .dat file recognizes only the shared properties and the ItemMagazineAsset properties. A property that exists on ItemGunAsset (Firerate, for example) placed in a magazine .dat file will be silently ignored because the magazine's asset class does not inherit from ItemGunAsset.

This inheritance model is the reason this property reference article exists as a standalone document. Every asset-type article in the items section begins by stating that it extends the shared surface documented here. Rather than repeating the shared property definitions in every article, each type-specific article references this article as the canonical shared reference and documents only the properties unique to that type. The modder who reads this article first and understands the shared surface can move to any type-specific article and immediately recognize which fields are inherited and which are new.

Localization: English.dat Name and Description stubs

Every item folder that contains a playable item should include an English.dat file with two stubs:

Name Your Item Display Name
Description Flavor text shown in the inventory tooltip when the player hovers over the item.

The Name field is a plain string that appears as the item's display name in the inventory UI, the hotkey bar, the crafting menu, and the loot panel. The Description field is Rich Text that appears in the inventory tooltip when the player hovers over the item, and may additionally include automatically appended stat descriptions if Use_Auto_Stat_Descriptions is true (the default). When auto stat descriptions are enabled, the engine appends lines for damage, storage capacity, health, armor rating, and other numeric stats based on the item's type-specific fields. The appended descriptions are rendered after the authored description text and are separated by a blank line.

The English.dat file must be saved as UTF-8 without BOM, matching the encoding standard for all Unturned™ .dat files. If the file contains a BOM, the parser may interpret the BOM bytes as part of the first field name, causing the Name field to fail to parse. The encoding procedures are documented in How to Save a DAT File with Correct Encoding.

For multi-language mods, additional localization files follow the naming convention French.dat, German.dat, Spanish.dat, and so on. Unturned™ selects the appropriate localization file based on the player's configured language setting and falls back to English.dat when the preferred language file is not present.

Worked example: a complete non-equippable item .dat

The example below shows a complete .dat file for a non-equippable item (a crafting material). Every shared property is populated and annotated with the purpose it serves. The item is a rare alloy ingot used as a crafting ingredient for high-tier weapon parts.

// ── Identity block ──
GUID a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d
ID 50150
Type Item
Name AlloyIngot

// ── Inventory block ──
Rarity Rare
Slot None
Size_X 1
Size_Y 2

// ── Quality block ──
Quality_Min 80
Quality_Max 100
Should_Delete_At_Zero_Quality false
Override_Show_Quality false

// ── Container block (used as an ingredient stack) ──
Amount 10
Count_Min 3
Count_Max 10

// ── Behavior block ──
Useable None
Can_Player_Equip false
Allow_Manual_Drop true
Should_Drop_On_Death true
Bypass_ID_Limit

// ── Icon block ──
Use_Auto_Icon_Measurements true
// Size_Z is not set; automatic measurement is used.

// ── Skin block ──
Shared_Skin_Lookup_ID 50150
// Same as ID; no skin sharing with other items.

// ── Equipment block (unused for non-equippable items) ──
// EquipablePrefab is omitted because Useable is None.
// EquipableModelParent is omitted because the item is not equipped.
Equipable_Movement_Speed_Multiplier 1
// Multiplier is 1 by default; explicitly stated for clarity.

// ── Procedural flags ──
Procedurally_Animate_Inertia false
// Inertia is irrelevant for non-equipped items; explicitly false.
Left_Handed_Characters_Mirror_Equipable true
// Default value; stated for completeness.

// ── Hash and verification ──
Bypass_Hash_Verification false
// Verification should be enabled for published items.

// ── Audio block (unused for non-equippable items) ──
// EquipAudioClip is omitted because the item is not equipped.
// InspectAudioDef is omitted; no inspect action.
// InventoryAudio is omitted; uses the default pickup sound.

The example above establishes the pattern for a well-formed shared-property block. Identity fields come first, followed by inventory fields, then quality, container, behavior, icon, skin, equipment, procedural flags, and verification. The type-specific fields (if this were a gun, magazine, or melee weapon) would be appended after the shared block. The // comment convention is identical to the one used by vanilla Unturned™ files and is ignored by the parser; comments are maintained for human readability and are preserved across file loads.

Diagnostic table: common property-configuration mistakes

SymptomMost likely causeResolution
Item does not appear in inventory after @giveID missing or set to 0Set a unique ID in the 50000+ range
Item appears with default icon instead of custom iconItem prefab missing from master bundle or Icon child GameObject absentConfirm the bundle contains the Item prefab with the required hierarchy
Item cannot be equipped despite having a useable typeCan_Player_Equip set to falseSet Can_Player_Equip to true or omit the field (it defaults to true when Useable is set)
Item does not occupy the expected inventory grid spaceSize_X or Size_Y set incorrectlyConfirm the grid dimensions in the .dat; a 2×2 item requires Size_X 2 and Size_Y 2
Item highlight color does not match the configured rarityRarity value mistyped (e.g., Uncommen instead of Uncommon)Correct the spelling to match the exact enum member name
Equipped model is invisibleEquipablePrefab points to a prefab not present in the master bundleVerify the prefab name in the bundle matches the value of EquipablePrefab or Name
Equipped model appears at the wrong position on the playerEquipableModelParent set to the wrong attachment boneAdjust the value: RightHook for right hand, LeftHook for left hand, Spine for back
Player cannot drop the itemAllow_Manual_Drop set to falseSet Allow_Manual_Drop to true
Item is deleted after reaching 0% durabilityShould_Delete_At_Zero_Quality set to true unintentionallySet Should_Delete_At_Zero_Quality to false
Item generates with the wrong spawn amountCount_Min and Count_Max not set correctly for a container itemSet Count_Min and Count_Max to the intended spawn-fill range; Amount to the maximum capacity
Player movement speed changes unexpectedly while item is equippedEquipable_Movement_Speed_Multiplier set to a value other than 1Set the multiplier to 1 or the intended value
Item model does not mirror for left-handed charactersLeft_Handed_Characters_Mirror_Equipable set to falseSet to true or verify that the non-mirrored orientation is intentional
View-model exhibits erratic angular motion during rapid camera movementProcedurally_Animate_Inertia enabled for an animation set that already compensates for inertiaSet Procedurally_Animate_Inertia to false
Skin from another item appears on this itemShared_Skin_Lookup_ID set to the other item's IDChange Shared_Skin_Lookup_ID to this item's own ID or set Shared_Skin_Apply_Visuals to false

Best practices

  • Assign a fresh GUID to every item using the PowerShell method [guid]::NewGuid().ToString("N"). Never copy a GUID from another item.
  • Use item IDs in the 50000+ range to avoid collisions with vanilla content and established community mods.
  • Match the folder name, .dat filename stem, and internal Name field to the same value for every item. Diagnostic clarity compounds over multiple items in the same mod project.
  • Group shared properties at the top of the .dat file in the order documented in this article (identity, inventory, quality, container, behavior, icon, skin, equipment, flags, verification). Append type-specific fields after the shared block.
  • Keep Bypass_Hash_Verification set to false before publishing; the field is a development convenience only.
  • Confirm that every field placed in a .dat file is recognized by the item's asset class. A field not defined on the item's class (or a parent class) is silently ignored.
  • Author the English.dat file for every item in the mod, even during early development. An item without a display name is confusing to test and to diagnose.
  • Test the item's inventory footprint (Size_X, Size_Y) against the actual mesh bounds in the prefab. An item whose grid dimensions are too small will clip through adjacent inventory cells visually.
  • Set Should_Delete_At_Zero_Quality intentionally: false for items that should be repairable, true for consumable-durability items that should vanish on depletion.
  • Use Add_Default_Actions only when the default refill, repair, and salvage actions are appropriate for the item type. Disable it when the item's context menu should be custom.

Frequently asked questions

Which properties are absolutely required for every item?

The three identity properties GUID, Type, and ID are required by all item assets. Without these three fields, the asset cannot be registered in the game's item manifest and will not appear in-game. Additionally, Size_X and Size_Y are strongly recommended for any item that appears in the player's inventory; omitting them results in a 1×1 default footprint that may not match the item's visual model.

What happens if I omit a property that has a default value?

The property takes its default value as documented in the property reference table above. For most properties, the default value produces reasonable behavior: Rarity defaults to Common, Slot defaults to None, and Should_Drop_On_Death defaults to true. The default values are the same as the values used by vanilla Unturned™ items of the same type.

What is the difference between a flag type and a bool type?

A flag property (e.g., Bypass_ID_Limit, Pro) requires no value on the right-hand side; the presence of the key alone is sufficient to set the flag to true. A bool property (e.g., Should_Delete_At_Zero_Quality, Can_Player_Equip) requires an explicit true or false value. The flag convention is a legacy of Unturned™'s early property system and persists in the current engine for backward compatibility.

Can I set Size_X to 0?

Technically, the engine accepts Size_X 0, which produces an item that occupies zero inventory columns. The item is still present in the inventory and can be selected and used, but it does not consume visible grid space. This configuration is rarely intentional and is typically the result of forgetting to set the grid dimensions. Use 0 only when the item's design genuinely requires no inventory footprint (e.g., an invisible key item that persists across sessions without occupying inventory slots).

How do I create an item that cannot be dropped or lost on death?

Set Allow_Manual_Drop false and Should_Drop_On_Death false. The item remains in the player's inventory permanently until consumed by a gameplay mechanic (crafting, quest turn-in, direct consumption). This configuration is appropriate for quest items, key items, and admin tools that should not proliferate through world drops.

What is the practical maximum for Size_X and Size_Y?

The inventory grid in the default Unturned™ UI has finite dimensions. The player's main inventory panel is approximately 8 columns wide and 6 rows tall. An item with Size_X 8 and Size_Y 6 occupies the entire visible inventory grid. Items larger than this are technically valid but cannot be fully displayed in the standard inventory view and may cause UI layout issues. The cohort recommendation is to keep items within a 4×2 footprint for weapons (guns, melee tools) and a 2×2 footprint for other carryable items.

Does Rarity affect anything other than the inventory highlight color?

At the engine level, Rarity controls only the inventory highlight color and the text label in the UI. It does not directly affect damage, durability, spawn rate, or any other gameplay property. However, spawn tables, loot tables, and economy configurations frequently use rarity as a shorthand for weighting spawn probability, so changing an item's rarity may indirectly affect how often players encounter it. The direct effect is cosmetic; the indirect effects depend on the server's spawn-table configuration.

Can I use a Useable type that is not listed in this article?

The EUseableType enumeration documented above is the complete set of useable types recognized by the current version of Unturned™. A value not in this set will cause a parse error and the item will fail to load. Custom useable types (implemented through C# server plugins) require a different configuration path and are not declared through the Useable field in the .dat file.

How does the engine determine which model to display when an item is dropped versus equipped?

When the item is in the world (dropped on the ground, placed as a pickup), the engine displays the Item prefab (the Item prefab in the master bundle). When the item is equipped in the player's hands, the engine checks for an EquipablePrefab field. If that field is set, the engine displays the named prefab instead; if it is not set, the engine uses the Item prefab directly. This separation allows a gun to have a detailed, animated equipped model and a simpler, lower-polygon ground model. For items that look the same in both contexts, the EquipablePrefab field can be omitted.

What is the Master Bundle Pointer type, and how do I configure it?

A Master Bundle Pointer is a reference to a named asset (prefab, audio clip, material) inside the item's Unity master bundle. The pointer value is the exact name of the asset as it appears in the Unity project's Assets folder at the time the bundle is built. The engine uses the pointer string as a key to look up the asset inside the loaded bundle. If the name does not match exactly (including case, because Unity asset names are case-sensitive in some contexts), the engine cannot resolve the pointer, and the referenced asset is not loaded. This is the most common cause of "item is invisible when equipped" and "equip sound does not play" bugs.

Does the order of properties in the .dat file affect parsing?

No. The parser reads the entire file into a property dictionary first, then maps each key-value pair to the corresponding class field. The order of properties within the file has no effect on the final values. The grouping conventions documented in this article (identity first, then inventory, then behavior, etc.) are for human readability and maintainability only. The parser treats all properties uniformly regardless of their position in the file.

Advanced considerations

Property coercion and type handling

The Unturned™ .dat parser performs implicit type coercion in several cases. A bool field accepts the literal strings true and false (case-insensitive) as well as the numeric values 1 (true) and 0 (false). A float32 field accepts integer literals (e.g., 1) and converts them to floating-point representation (1.0). An enum field accepts only the exact string spelling of the enum member name; misspellings, abbreviations, and variant capitalizations produce parse errors. The parser is strict about enum values and permissive about numeric values, which means that a numeric typo (e.g., Rarity 3 instead of Rarity Epic) will parse but produce unexpected behavior because the parser will attempt to map the integer 3 to the enum's ordinal position rather than treating it as a value designation.

Interaction between Can_Player_Equip and Useable

The Can_Player_Equip property is logically dependent on Useable. An item with Useable None and Can_Player_Equip true is a valid configuration: the field is set to true but has no effect because the item has no useable script and therefore no equip behavior. Conversely, an item with Useable Melee and Can_Player_Equip false is a melee weapon that only non-player entities can use. This configuration is used in modded scenarios where NPC guards, automated turrets, or scripted enemies carry weapons that players cannot pick up and use.

The Pro flag and Steam Economy integration

The Pro flag is the mechanism by which Unturned™ gates content behind the premium upgrade (Gold/PRO tier). When a server has Pro enabled, items without the flag are usable by all players; items with the flag are usable only by players who own the premium upgrade. When a non-PRO player attempts to equip or use a PRO-gated item, the game displays a message indicating that the item requires the premium upgrade. Workshop modders should understand that setting Pro on a mod item restricts that item's audience to PRO players only, which may reduce the mod's download and rating count. The cohort recommendation for public Workshop mods is to leave Pro unset unless the mod's design explicitly requires premium gating.

Property inheritance across spawned items

When an item is spawned in the world (via loot tables, crafting, or admin commands), the spawned instance inherits all properties from its asset definition. Some properties are instance-scoped (quality, durability, container amount) and may vary between instances of the same asset. Other properties are class-scoped (ID, GUID, Type, Rarity, Slot, Size) and are identical across all instances. The distinction between instance-scoped and class-scoped properties is determined by the item's useable script; the shared property surface alone does not distinguish between the two scopes. Modders who need per-instance variability should investigate the useable script's instance-management behavior for the relevant item type.

Appendix A: Item asset property quick-reference card

FieldTypeRequiredDefault
GUIDGUIDYes,
IDuint16Yes0
TypeEItemTypeYes,
NamestringRecommended,
RarityEItemRarityRecommendedCommon
SlotESlotTypeRecommendedNone
Size_Xuint8Recommended1
Size_Yuint8Recommended1
UseableEUseableTypeRecommendedNone
Can_Player_EquipboolOptionalSee description
Can_Use_UnderwaterboolOptionalSee description
Allow_Manual_DropboolOptionaltrue
Should_Drop_On_DeathboolOptionaltrue
Bypass_ID_LimitflagConditionalnot set
Bypass_Hash_VerificationboolOptionalfalse
EquipablePrefabMaster Bundle PointerOptional,
EquipableModelParentEEquipableModelParentOptionalSee description
Destroy_Item_CollidersboolOptionaltrue
Equipable_Movement_Speed_Multiplierfloat32Optional1
Left_Handed_Characters_Mirror_EquipableboolOptionaltrue
Procedurally_Animate_InertiaboolOptionaltrue
Quality_Minuint8Optional10
Quality_Maxuint8Optional90
Should_Delete_At_Zero_QualityboolOptionalfalse
Deleted_At_Zero_Quality_EffectAsset Pointer to Effect AssetsOptional0
Deleted_At_Zero_Quality_RewardsRewardsOptional0
Override_Show_QualityboolOptionalfalse
Amountuint8Optional1
Count_Minuint8Optional1
Count_Maxuint8Optional1
Use_Auto_Icon_MeasurementsboolOptionaltrue
Size_Zfloat32Optional-1
Size2_Zfloat32Optional-1
Shared_Skin_Lookup_IDuint16OptionalValue of ID
Shared_Skin_Apply_VisualsboolOptionaltrue
Ignore_TexRWflagOptionalnot set
Add_Default_ActionsboolOptionalSee description
ProflagOptionalnot set
Fishing_CatchableFishingCatchablePropertiesOptional,
EquipAudioClipMaster Bundle PointerOptionalEquip
InspectAudioDefMaster Bundle PointerOptional,
InventoryAudioMaster Bundle PointerOptionalSee description
Instantiated_Item_Name_OverridestringOptionalValue of ID
Backwardflagdeprecated,

Appendix B: EEquipableModelParent quick reference

ValueAttachment boneTypical use
RightHookRight handStandard weapons
LeftHookLeft handOff-hand items
SpineBackHolstered weapons
SpineHookSpine childCustom attachment points

Appendix C: ESlotType quick reference

ValueRestriction
NoneHotkey only, no equipment slot
PrimaryPrimary slot only (slot 1)
SecondaryPrimary or secondary slot (slots 1 or 2)
TertiaryNot implemented
AnyAny hotkey slot, no equipment restriction

Appendix D: EItemRarity quick reference

ValueHighlight color
CommonWhite / gray
UncommonGreen
RareBlue
EpicPurple
LegendaryOrange / gold
MythicalRed

Appendix E: EUseableType quick reference

ValueUseable classExample items
None,Crafting materials
ClothingUseableClothingHat, shirt, pants, mask, vest, backpack, glasses
GunUseableGunRifles, pistols, shotguns, SMGs
ConsumeableUseableConsumeableFood, water, medical supplies
MeleeUseableMeleeKnife, sword, axe, club, sledgehammer
FuelUseableFuelFuel canisters
CarjackUseableCarjackCarjack tool
BarricadeUseableBarricadeStorage boxes, spike traps, generators
StructureUseableStructureWalls, floors, roofs, pillars
ThrowableUseableThrowableGrenades, smoke, flares
GrowerUseableGrowerSeeds, planting items
OpticUseableOpticBinoculars, rangefinders
RefillUseableRefillWater bottles, refillable containers
FisherUseableFisherFishing rods
CloudUseableCloudSignal flares, smoke markers
Arrest_StartUseableArrestStartHandcuffs, zip ties
Arrest_EndUseableArrestEndHandcuff keys
DetonatorUseableDetonatorRemote detonators
FilterUseableFilterGas mask filters
CarlockpickUseableCarlockpickCar lockpicks

Document history

VersionDateAuthorNotes
1.02025-05-1857 StudiosInitial publication. Complete ItemAsset property reference, enumerations, Unity asset bundle contents, property inheritance model, worked examples, diagnostic table, FAQ, and quick-reference appendices.

Cross-references