Barricade Asset Reference
Intermediate40-60 minutesWindowsNotepad++Unity Editor
Barricades are the most versatile deployable item category in Unturned™ modding. A barricade asset defines any player-placeable object that does not require the structural grid - sandbags, wire fences, spike traps, storage crates, beds, campfires, sentry guns, signs, generators, ladders, hatches, doors, shutters, and scores of other functional and decorative props. The ItemBarricadeAsset class, which inherits from the ItemPlaceableAsset base class, provides the field surface that controls placement behavior, damage resistance, interactability, salvage behavior, audio, and visual feedback for every barricade in the game.
57 Studios™ has documented and validated the complete barricade asset .dat field surface across the Unturned™ modding community. This article covers every barricade-specific field documented in the official Smartly Dressed Games modding reference, the Build type enum that controls how a barricade behaves when placed, the placement flag system that determines where and how barricades can be deployed, the armor and damage interaction model, the salvage and repair system, and the interactability types that define what players can do with a placed barricade. Three worked examples - a defensive sandbag wall, a spike trap, and a storage crate - demonstrate the complete .dat authoring pattern.

Documentation source: This article references the official Smartly Dressed Games modding documentation for field definitions and game behavior, cross-referenced against shipped game files in
Bundles\Items\Barricades\*\*.dat. Community-validated notes are marked where the official documentation is silent on a detail.
Who this article is for
This article is written for Unturned™ mod authors who have completed at least one item mod of another type (melee, supply, gun) and are familiar with the master bundle pipeline and .dat authoring workflow. If you are new to Unturned™ modding, start with Project Folder Structure and GUIDs and Item Asset Anatomy before returning here. The companion article Objects, Structures, and Barricades covers the three-category distinction between Object, Structure, and Barricade asset types and is recommended reading before this article.
What you'll learn
- The complete
ItemBarricadeAssetfield set including placement, armor, salvage, and audio fields - The
Buildenum controlling barricade behavior class (Wall, Barricade, Trap, Storage, Sentry, Door, and twenty-five other values) - The placement flag system:
Allow_Placement_On_Vehicle,Allow_Placement_Inside_Clip_Volumes,Bypass_Claim, and related fields - The armor system with
Armor_Tier,Armor_Falloff*, andProof_Explosioninteractions - The salvage and repair configuration surface including
Salvage_Duration_Multiplier,Unrepairable,Unsalvageable,Unpickupable, andBypass_Pickup_Ownership - How barricade health, damage, and destruction work including the
VulnerableandCan_Be_Damagedfields - The
RequiresHeatSourceCraftingTagConversionsystem for heat-producing barricades - Worked
.datexamples for three barricade types: wall, trap, and storage - Full diagnostic troubleshooting table for common barricade authoring issues
How the barricade system works
The Unturned™ barricade runtime is driven by the ItemBarricadeAsset class and the BarricadeManager server-side system. When a player equips a barricade item and presses the deploy key, the engine reads the .dat configuration, validates the placement target against the barricade's placement flags, checks the claim system, and spawns the barricade prefab as a world entity. The placed barricade then participates in the save system (persisting across server restarts), the damage system (receiving damage from weapons, explosives, melee, and zombies), the interactability system (if configured), and the salvage system (allowing pickup or resource recovery).
The engine runs the validation sequence every time a player attempts to place a barricade. If any validation step fails, the placement is rejected and the item remains in the player's inventory with a visual placement error indicator.
The Build type enum
The Build field is the single most important classification field on a barricade asset. It determines the barricade's functional class - what the engine considers the barricade to be for purposes of interaction, animation, audio, and behavior. The Build enum is defined on the ItemBarricadeAsset class and accepts thirty different values, each producing a distinct behavioral profile.
| Build value | Functional class | Example usage | Key behaviors |
|---|---|---|---|
Barrel_Rain | Rain barrel | Water collection | Collects rainwater; interacts with the fluid system |
Barricade | Generic barricade | Sandbags, wire fences | Standard deployable; no special interaction logic |
Barricade_Wall | Wall-type barricade | Tall metal barricades | Extended collision; blocks line of sight |
Beacon | Horde beacon | Horde beacon | Enemy wave spawner; requires powered state |
Bed | Sleeping bag / bed | Sleeping bags, cots | Spawn point registration; claim ownership |
Cage | Animal cage | Animal traps | Captures live animals; interacts with animal system |
Campfire | Fire source | Campfires, fire pits | Provides light, heat, cooking capability |
Charge | Demolition charge | Explosive charges, breaches | Explodes on trigger; damages surrounding objects |
Claim | Land claim | Ownership flags | Marks territory; grants build permissions |
Clock | Time display | Wall clocks, alarm clocks | Displays in-game time; alarm triggers |
Door | Doorway | Metal doors, wooden doors | Binary state; opens and closes; can be locked |
Farm | Plant pot / planter | Crop planters, garden beds | Supports plant growth; interacts with farming system |
Fortification | Defensive position | Sandbag emplacements, reinforced barriers | Provides cover; reduces incoming damage to occupants |
Freeform | Freeform barricade | Custom shapes | No grid restriction; arbitrary placement orientation |
Gate | Gate / garage door | Large gates, vehicle barriers | Opens and closes for vehicle passage; lockable |
Generator | Power generator | Gas generators, solar panels | Produces power for nearby electrical barricades |
Glass | Glass panel | Window panes, glass walls | Transparent; low health; breaks on impact |
Hatch | Hatch / trapdoor | Floor hatches, roof access | Binary state on horizontal surface; can be locked |
Ladder | Climbable ladder | Wooden ladders, metal ladders | Provides vertical movement; player attaches to ladder |
Library | Book storage | Bookshelves | Stores books and readable items |
Mannequin | Display mannequin | Armor stands, clothing displays | Displays wearable items visually |
Note | Note / sign | Notes, bulletin boards | Stores readable text; players can write on it |
Oil | Oil container | Oil barrels, fuel caches | Stores fuel; interacts with generator system |
Oven | Cooking station | Ovens, furnaces, stoves | Provides cooking capability; requires fuel |
Oxygenator | Air supply | Oxygen tanks, air filters | Provides breathable air in underwater environments |
Safezone | Safe zone marker | Safe zone pillars | Prevents damage and PvP within radius |
Sentry | Automated turret | Sentry guns | Automated targeting; fires at enemies within range |
Sentry_Freeform | Turret (freeform) | Custom sentry mounts | Same as Sentry but without restriction on placement orientation |
Shutter | Window shutter | Metal shutters, blast doors | Opens and closes; lockable; provides window coverage |
Sign_Wall | Wall-mounted sign | Wall plaques, nameplates | Mounted on wall; displays text |
Sign | Free-standing sign | Road signs, information boards | Placed on ground or floor; displays text |
Spike | Trap / spike | Barbed wire, caltrops, spike strips | Damages entities that walk over it |
Spot | Spotlight | Searchlights, floodlights | Directional light; player-adjustable angle |
Stereo | Music player | Radios, stereos, speakers | Plays audio clips; range-limited broadcast |
Storage | Item container | Crates, lockers, cabinets | Stores items in internal grid inventory |
Storage_Wall | Wall-mounted container | Wall lockers, medicine cabinets | Wall-mounted storage with internal grid inventory |
Tank | Fluid tank | Water tanks, fuel tanks | Stores fluids; connects to pipe system |
Torch | Light source | Wall torches, lanterns | Provides light; can be lit or unlit state |
Vehicle | Vehicle spawner | Vehicle spawn pads | Spawns vehicles on activation |
Wire | Wire fence | Chain link fences, barbed wire | Transparent collision; entity blocking |
Some Build values require child classes of ItemBarricadeAsset to function correctly. The Build field on its own is a behavioral hint for the engine; the actual runtime behavior is driven by the child class implementation. When the official SDG documentation for a specific child class exists, that class's documentation should be used instead of the base barricade class documentation for the correct field set.
File and folder structure
A complete barricade mod item requires the following files in the standard Unturned™ mod layout:
Workshop/Content/304930/<modID>/
├── Bundles/
│ └── <BundleName>.unity3d ← master bundle containing the barricade prefab
└── Items/
└── MyBarricade/
├── MyBarricade.dat ← primary barricade configuration
└── English.dat ← display name and descriptionThe folder name, the .dat filename stem, and the internal Name field should all match. This is not enforced at runtime but divergence causes diagnostic confusion and makes the mod harder to maintain across updates.
Complete barricade .dat field reference
Identity and shared item fields
Every barricade item requires the standard identity block shared across all item asset types. These fields are documented in full in Item Asset Anatomy. The barricade-specific conventions are noted in the table below.
| Field | Type | Example | Required | Purpose |
|---|---|---|---|---|
ID | uint16 | 50300 | Yes | Numeric item ID. Must be unique across all loaded mods. Use IDs in the 50000+ range to avoid collision with vanilla and established community mods. |
GUID | uint128 hex | a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d | Yes | 128-bit globally unique identifier. Generate a new GUID for every new barricade. Never reuse GUIDs. |
Type | enum | Barricade | Yes | Must be Barricade for barricade assets. When intending to use a child class that requires a different enumerator, refer to that class's documentation. |
Useable | enum | Barricade | Yes | Must be Barricade for barricade assets. This field controls which Useable class the engine instantiates for the type. |
Build | enum | Barricade | Yes | The barricade's functional classification. Must be one of the thirty values documented in the Build enum section. |
Name | string | CustomSandbagWall | Yes | Internal name. Used in console commands and cross-references. |
Rarity | enum | Common | No | Controls the inventory highlight color. Values: Common, Uncommon, Rare, Epic, Legendary, Mythical. Defaults to Common. |
Slot | enum | Barricade | Yes | Inventory slot. Must be Barricade for barricade items. |
Size_X | uint8 | 2 | Yes | Width in inventory grid cells. |
Size_Y | uint8 | 1 | Yes | Height in inventory grid cells. |
Model | string | CustomSandbagPrefab | No | Override the prefab name if it differs from the Name field. |
InventoryAudio | master bundle pointer | - | No | The audio clip played when the item is moved in inventory. Defaults are determined by the field name and size according to a fallback chain documented in the official SDG reference. |
Placement fields
The placement fields control where, how far, and under what conditions the barricade can be deployed. Placement validation is the first check the engine performs when the player presses the deploy button.
| Field | Type | Default | Purpose |
|---|---|---|---|
Range | float | 3.0 | The maximum distance in meters from the player at which the barricade can be placed. Measured from the player's camera or chest position depending on the engine version. |
Radius | float | 2.0 | The radius in meters around the placement target that must be clear of obstacles for placement to succeed. This is distinct from the collision mesh; it is an additional clearance check. |
Offset | float | 0.0 | In meters, the distance above the ground surface the barricade is placed. Positive values lift the barricade; negative values sink it into the ground. |
Allow_Placement_On_Vehicle | bool | true | If true, this barricade can be placed on vehicle surfaces. Set to false for barricades that should only be placed on terrain or structures. Defaults to true for most types except Bed, Sentry, and Sentry_Freeform. |
Allow_Placement_Inside_Clip_Volumes | bool | false | If true, the barricade can be placed inside player clip volumes. Set to true for Charge type barricades (demolition charges should be placeable in any volume). Defaults to false. |
Allow_Collision_While_Animating | bool | false | Whether animated interactables should have collision during their animation. If true, animated colliders are enabled while playing the animation even when a player is overlapping. Be cautious when enabling this, as it allows for physics-based exploits such as pushing players through geometry with animated doors. |
Armor and damage fields
The armor and damage fields control how the barricade responds to incoming damage from weapons, explosives, melee attacks, zombie attacks, and environmental damage sources.
| Field | Type | Default | Purpose |
|---|---|---|---|
Health | uint16 | 0 | Total health value. A barricade with Health 0 is destroyed on first hit. Typical values range from 50 (campfire) to 2000 (reinforced fortification). |
Armor_Tier | enum | Low | Barricade armor tier. Values: Low, High. Low-tier armor takes 100% of incoming damage by default. High-tier armor takes 50% of incoming damage by default. Both multipliers are configurable in the gameplay config file. Defaults to Low-tier, except when the barricade's name contains the word Metal. |
Armor_Falloff_MaxRange | float | -1 | Ranged damage from greater than this distance finishes decreasing toward Armor_Falloff_Multiplier. Defaults to -1, in which case armor falloff is ignored entirely. When set to any positive value, ranged weapons beyond Armor_Falloff_MaxRange deal damage reduced by Armor_Falloff_Multiplier. |
Armor_Falloff_Range | float | (same as MaxRange) | Ranged damage from greater than this distance begins decreasing toward Armor_Falloff_Multiplier. Defaults to the value of Armor_Falloff_MaxRange, which produces immediate decrease with no smooth transition. |
Armor_Falloff_Multiplier | float | 0.5 | A value in the [0, 1] range representing the normalized percentage of incoming damage to apply past Armor_Falloff_MaxRange. A value of 0.5 means weapons beyond max range deal 50% of their normal damage. |
Can_Be_Damaged | bool | true | If true, this barricade can be damaged by weapons, explosives, melee, and zombie attacks. Set to false for decorative barricades or undamageable quest props. |
Proof_Explosion | flag | not set | When present, the barricade is immune to area-of-effect explosive damage. Grenades, rockets, and demolition charges deal zero damage. The barricade can still be destroyed by direct weapon fire and melee attacks. |
Vulnerable | flag | not set | When present, the barricade can be damaged by lower-power weapons that do not have the Invulnerable flag. This is the inverse of Proof_Explosion - it makes the barricade susceptible to weapon categories that normally would not damage it. |
Can_Zombies_Target | bool | true | If true, this barricade is eligible for zombie detection and attack when zombies are stuck. Zombies that cannot pathfind around the barricade will attack it. Set to false for barricades that should never be targeted by zombie AI. |
Explosion | GUID or uint16 | - | The GUID or legacy ID of the EffectAsset to play when the barricade is destroyed. When using Build Vehicle, this field instead contains the GUID or legacy ID of the vehicle that should be spawned on placement. |
Claim and ownership fields
The claim system controls whether a player can place a barricade in an area claimed by another player or group. The fields below modify the default claim behavior.
| Field | Type | Default | Purpose |
|---|---|---|---|
Bypass_Claim | bool / flag | false | When true, this barricade can be placed inside another player's claimed area. Defaults to true for Charge type barricades (demolition charges must be placeable on enemy bases). In earlier engine versions this field was a flag (presence only, no value). Both syntax forms are still supported. |
Bypass_Pickup_Ownership | bool | false | If true, non-owners of the placed barricade can pick it up. Defaults to true for Charge type barricades. Applies only to barricades where picking up is otherwise allowed (i.e., Unpickupable is not set). |
Locked | flag | not set | When present, only the placed barricade's owner or group members can interact with it. Requires the death of the owner or administrative intervention to remove. |
Salvage and pickup fields
The salvage and pickup system controls how and whether a placed barricade can be recovered by players. The fields below modify the default salvage behavior.
| Field | Type | Default | Purpose |
|---|---|---|---|
Salvage_Duration_Multiplier | float | 1.0 | Multiplier on how long it takes to salvage this barricade. Setting this to a larger number increases salvage time. A value of 2.0 means salvaging takes twice as long as the base duration. |
Unpickupable | flag | not set | When present, disables the ability to pick up a placed barricade. The barricade is permanent once placed. For example, the Horde Beacon uses this flag. |
Unrepairable | flag | not set | When present, the barricade cannot be repaired by a MeleeAsset with the RepairTool flag. A blowtorch or repair wrench will not work on this barricade. |
Unsalvageable | flag | not set | When present, salvaging a damaged barricade yields no partial resources. The barricade can still be destroyed but no materials are recovered. For example, small glass plates use this flag. |
Unsaveable | flag | not set | When present, the barricade is excluded from being saved to the server save file. It will not persist across server restarts. Care packages use this flag so they expire correctly. |
Visual and audio fields
| Field | Type | Default | Purpose |
|---|---|---|---|
PlacementAudioClip | master bundle pointer | - | The AudioClip to play when the barricade is placed. Provides immediate audio feedback to the placing player and nearby players. |
PlacementPreviewPrefab | master bundle pointer | - | Overrides the placement preview model spawned when the barricade item is held. The preview model is the translucent ghost that shows where the barricade will be placed. |
Has_Clip_Prefab | bool | true | Whether the barricade has a Clip.prefab for server-side collision. If the barricade should use the same prefab on the server as on the client, set to false. Most official content uses Has_Clip_Prefab false. |
Use_Water_Height_Transparent_Sort | flag | not set | Useful for transparent barricades such as glass panels. When present, the barricade's renderer sorts correctly with the water height transparency system. |
Pooling and override fields
| Field | Type | Default | Purpose |
|---|---|---|---|
Eligible_For_Pooling | bool | true | If true, this barricade is eligible for object pooling. Some barricades may not reset properly when pooling is enabled. Defaults to true except when using Build Beacon. |
CanVehicleHookWhileAttached | bool | false | By default, vehicles with hooks such as the Skycrane cannot pick up vehicles that have barricades attached. If all barricades on the vehicle set this to true, the vehicle can be picked up. In the 3.24.7.0 update notes this field was mistakenly referred to as CanParentVehicleBePickedUp. Both property names work. |
RequiresHeatSourceCraftingTagConversion
The RequiresHeatSourceCraftingTagConversion field is a specialized boolean field applicable to Oven, Torch, and Campfire Build types. It performs the following modifications during load for backwards compatibility with older Unturned™ versions that did not use the crafting tag system:
- Adds the vanilla
HeatSourcetag (GUID20f30322bbcc4b01a4f116d22b24c21a) toPlaceableProvidesCraftingTagsif that field is empty. - Adds a
CraftingTagModifiercomponent to theFirechildGameObjectwithMode Remove,ActivationRequirement Invert, andTag 20f30322bbcc4b01a4f116d22b24c21a. This removes theHeatSourcetag whenFireis inactive. - Adds a
CraftingTagProvidercomponent to the barricadeGameObjectwithModifiersset to the component added toFire.
When this field is true, the barricade automatically provides the HeatSource crafting tag to nearby players for blueprint requirements when the barricade's fire is active. The field is enabled by default for applicable Build types. Modders who are authoring new-style barricades that use the modern crafting tag system directly should set this to false and manage tags manually through PlaceableProvidesCraftingTags.
Worked example: defensive sandbag wall
The following .dat file defines a defensive sandbag wall barricade. This is a Build Barricade type with moderate health, ground and floor placement support, and explosion resistance.
ID 50300
GUID a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d
Type Barricade
Useable Barricade
Build Barricade
Name CustomSandbagWall
Rarity Common
Slot Barricade
Size_X 2
Size_Y 1
Health 500
Range 4.0
Radius 2.0
Offset 0.0
Allow_Placement_On_Vehicle false
Can_Be_Damaged true
Proof_Explosion
Armor_Tier Low
Can_Zombies_Target true
Eligible_For_Pooling true
Salvage_Duration_Multiplier 1.5
Bypass_Claim false
Has_Clip_Prefab falseCompanion English.dat:
Name Custom Sandbag Wall
Description A reinforced sandbag barrier for defensive positions. Requires sandbag materials to craft.Worked example: spike trap
The following .dat file defines a spike trap barricade of Build Spike type. Spike traps damage entities that walk over them. They have low health (they are meant to be fragile disposable area-denial tools) and are placed on ground surfaces only.
ID 50301
GUID b2c3d4e5f6a74a8b9c0d1e2f3a4b5c6d
Type Barricade
Useable Barricade
Build Spike
Name CustomSpikeTrap
Rarity Common
Slot Barricade
Size_X 1
Size_Y 1
Health 75
Range 2.5
Radius 1.0
Offset 0.0
Allow_Placement_On_Vehicle false
Can_Be_Damaged true
Vulnerable
Can_Zombies_Target true
Unrepairable
Unsalvageable
Salvage_Duration_Multiplier 0.5
Has_Clip_Prefab falseCompanion English.dat:
Name Spike Trap
Description A deployable spike strip for area denial. Damages players and zombies that walk over it. Single-use only.Worked example: storage crate
The following .dat file defines a storage crate barricade of Build Storage type with a 4×3 internal inventory grid. Storage barricades provide portable item storage that persists across server restarts.
ID 50302
GUID c3d4e5f6a7b84a9c0d1e2f3a4b5c6d7e
Type Barricade
Useable Barricade
Build Storage
Name CustomStorageCrate
Rarity Common
Slot Barricade
Size_X 2
Size_Y 1
Health 600
Range 3.0
Radius 1.5
Offset 0.0
Allow_Placement_On_Vehicle false
Can_Be_Damaged true
Can_Zombies_Target false
Unpickupable false
Unsalvageable false
Salvage_Duration_Multiplier 1.0
Eligible_For_Pooling true
Has_Clip_Prefab falseCompanion English.dat:
Name Storage Crate
Description A reinforced storage crate with 12 inventory slots. Stores items securely inside player-built bases.Note: The storage crate's internal grid dimensions are not set in the .dat file shown above because the vanilla Build Storage type uses a default grid size. To set custom storage dimensions, the barricade must have an Interactability configuration with Interactability_Storage_X and Interactability_Storage_Y fields. For a 4×3 grid, the relevant fields would be:
Interactability Storage
Interactability_Storage_X 4
Interactability_Storage_Y 3Prefab structure for barricades
The Unity prefab for a barricade requires a specific component hierarchy to function correctly at runtime. The minimum cohort-validated hierarchy is:
MyBarricadePrefab (root GameObject)
├── Body (MeshRenderer + MeshFilter - barricade visual mesh)
├── Collider (BoxCollider, MeshCollider, or CapsuleCollider - physics interaction)
├── AudioSource (placed at root, configured for spatial 3D sound)
└── Animator (optional - required only for animated barricades)Component requirements by Build type
| Build type | Required components | Optional components |
|---|---|---|
Barricade, Barricade_Wall, Fortification | MeshRenderer, MeshFilter, Collider | AudioSource, NavMeshObstacle |
Storage, Storage_Wall | MeshRenderer, MeshFilter, Collider | AudioSource |
Door, Gate, Hatch, Shutter | MeshRenderer, MeshFilter, Collider, Animator | AudioSource (for open/close sounds) |
Bed | MeshRenderer, MeshFilter, Collider | AudioSource |
Campfire, Oven, Torch | MeshRenderer, MeshFilter, Collider | AudioSource, ParticleSystem (for fire effects) |
Sentry, Sentry_Freeform | MeshRenderer, MeshFilter, Collider, Animator | AudioSource, ParticleSystem |
Generator | MeshRenderer, MeshFilter, Collider | AudioSource (for running sound), ParticleSystem |
Spike, Wire, Trap | MeshRenderer, MeshFilter, Collider | AudioSource (for activation sound) |
Sign, Sign_Wall, Note | MeshRenderer, MeshFilter, Collider | TextMeshPro (for sign text display) |
Beacon | MeshRenderer, MeshFilter, Collider, Animator | AudioSource, ParticleSystem, Light |
Charge | MeshRenderer, MeshFilter, Collider | AudioSource, Light (for active state) |
Collider authoring guidelines for barricade prefabs
The collider on a barricade prefab determines physics interaction, raycast targeting, and zombie AI pathfinding. The following authoring guidelines apply across all Build types.
| Collider type | When to use | Guidelines |
|---|---|---|
BoxCollider | Rectangular barricades (crates, panels, doors) | Size the collider to match the visual mesh closely. Add 0.01 m inset on shared edges with adjacent barricades. |
CapsuleCollider | Cylindrical barricades (barrels, tanks, posts) | Set the capsule height to match the visual mesh height and radius to match the widest cross-section. |
MeshCollider (convex) | Complex curved barricades (sandbags, irregular shapes) | Ensure the mesh is set to convex in the Unity Inspector. Non-convex MeshColliders produce unpredictable physics. |
MeshCollider (non-convex) | Static environment barricades that never move | Only for barricades that will not be moved or salvaged. Non-convex MeshColliders cannot be dynamic. |
The collider should always be at least as large as the visual mesh for the barricade's collision-facing side. A barricade with a collider smaller than its visual mesh allows projectiles and entities to pass through visible geometry.
Interactability types for barricades
Barricades support the richest interactability system of any placed asset type. The Interactability enum on ItemBarricadeAsset accepts the following values, each enabling a different player interaction mode.
| Interactability value | Required additional fields | Behavior |
|---|---|---|
None | - | No interaction. The barricade is a static prop. |
Binary_State | Interactability_Reset (optional) | Two-state toggle. Opens/closes, activates/deactivates. |
Dropper | - | Drops items when interacted with. Used for dispensers. |
Note | Interactability_Text | Displays readable text on interaction. |
Fuel | Interactability_Health | Accepts fuel items for refueling generators and vehicles. |
Charge | - | Detonates on interaction. Used for demolition charges. |
Farm | - | Supports plant growth. Interacts with the farming system. |
Rubble | - | Contains lootable items. Used for destroyed barricade remnants. |
Sign | - | Allows players to enter text displayed on the barricade surface. |
Sign_Quests | - | Sign with quest integration. |
Bed | - | Registers as a spawn point on interaction. |
Claim | - | Marks territory on interaction. |
Door | Interactability_Reset | Opens and closes. Supports locking. |
Hatch | Interactability_Reset | Opens and closes on horizontal surface. Supports locking. |
Storage | Interactability_Storage_X, Interactability_Storage_Y | Provides internal inventory grid for item storage. |
Sentry | - | Automated targeting turret. |
Library | - | Stores and displays readable items. |
Mannequin | - | Displays wearable items visually. |
Generator | Interactability_Health | Produces power. Accepts fuel. |
Spot | - | Directional light with adjustable angle. |
Diagnostic table
| Symptom | Most likely cause | Resolution |
|---|---|---|
| Barricade cannot be placed on any surface | All placement flags set to false or omitted | Add at least one placement flag (Allow_Placement_On_Vehicle, or set Allow_Placement_Inside_Clip_Volumes) |
| Barricade appears invisible when placed | Prefab reference broken or Has_Clip_Prefab true with no clip prefab | Re-assign prefab in Unity; set Has_Clip_Prefab false to use the same prefab on server and client |
| Barricade does not save across server restarts | Unsaveable flag present | Remove the Unsaveable flag unless intentional |
| Barricade cannot be picked up | Unpickupable flag present | Remove the Unpickupable flag if salvage should be allowed |
| Barricade cannot be repaired | Unrepairable flag present | Remove the Unrepairable flag |
| Barricade destroyed by explosives despite expectations | Proof_Explosion flag missing | Add the Proof_Explosion flag |
| Barricade breaks in one hit | Health set to 0 or very low | Set Health to the intended value (minimum 50 for fragile props) |
| Placement preview shows wrong model | PlacementPreviewPrefab points to wrong prefab | Correct the prefab reference in the .dat |
| No sound on placement | PlacementAudioClip field missing or pointing to missing audio | Set PlacementAudioClip to a valid master bundle audio clip |
| Zombies ignore the barricade entirely | Can_Zombies_Target set to false | Set Can_Zombies_Target true or add a NavMeshObstacle component to the prefab |
| Players can place the barricade in claimed enemy territory | Bypass_Claim not set when it should be | Remove Bypass_Claim or set it to false |
| Non-owners cannot pick up the barricade they built | Bypass_Pickup_Ownership missing | Add Bypass_Pickup_Ownership true |
| Salvage takes too long | Salvage_Duration_Multiplier set too high | Reduce the multiplier toward 1.0 |
| Animated barricade pushes players through geometry | Allow_Collision_While_Animating true | Set Allow_Collision_While_Animating false |
| Storage crate has no inventory when placed | Interactability Storage field missing | Add Interactability Storage with Interactability_Storage_X and Interactability_Storage_Y |
Frequently asked questions
What is the difference between Build Barricade and Build Barricade_Wall?
Build Barricade is the generic deployable type - sandbags, wire fences, and other free-standing props that do not require structural snap logic. Build Barricade_Wall uses a taller collision model designed to block line of sight and provide full-height cover. In practice, Barricade_Wall also has a different placement footprint: the wall variant typically requires a longer clear Radius along its face compared to a standard barricade.
Can a barricade have multiple Build values?
No. The Build field accepts a single enum value per barricade .dat. If you need a barricade that provides both storage and sentry functionality, you must author two separate barricade assets. The engine does not support composite Build behavior from a single asset.
What happens if Health is set to 0?
A barricade with Health 0 is destroyed instantly on the first damage event that reaches it. The barricade will appear placed in the world and then immediately break on any impact - a zombie brushing against it, a single bullet, a player walking into it. This is only useful for purely decorative instant-break props. For functional barricades, set Health to at least 50.
Does Armor_Tier High make the barricade immune to damage?
No. Armor_Tier High applies a 50% damage multiplier (configurable in the gameplay config) to incoming damage. The barricade still takes damage; it takes half as much as a Low-tier barricade would from the same hit. For complete damage immunity, use Can_Be_Damaged false or the Invulnerable flag.
Can I make a barricade that is only placeable on vehicles?
Yes. Set Allow_Placement_On_Vehicle true and omit all other placement flags. The engine will reject placement attempts on terrain, structure floors, ceilings, and walls. The barricade will only be placeable on vehicle surfaces that accept barricade placement.
What is the clip prefab and when should I use Has_Clip_Prefab?
A Clip.prefab is a dedicated collision-only prefab used by the server-side physics engine for a barricade that should have different collision behavior from its visual prefab. For most barricades, setting Has_Clip_Prefab false is correct - the same prefab is used on both the server and the client, which ensures collision behavior matches visual appearance. Use Has_Clip_Prefab true only when the barricade needs a separate, simplified collision mesh for server-side physics performance.
How do I make a locked door barricade?
Set Build Door, add the Locked flag, and set Interactability Door. The engine registers the barricade as a lockable door entity. Players who place the door are automatically added as owners. Only the owner or group members can toggle the locked state. The prefab must include an Animator with Open and Close animation states for the door to animate correctly.
Why does my barricade not show a placement preview ghost when held?
The placement preview is controlled by PlacementPreviewPrefab. If this field is not set, the engine uses the barricade's main prefab as the preview. If the preview appears invisible, the most likely causes are: the prefab's shader does not support transparent rendering for the preview ghost, or the prefab has no collider for the placement system to use for position detection. Add a collider to the prefab and confirm the material supports alpha blending for the preview ghost.
Can a barricade provide crafting tags to nearby players?
Yes. The PlaceableProvidesCraftingTags list field on the ItemPlaceableAsset base class specifies Tag Assets that are available to nearby players for blueprint requirements. For Oven, Torch, and Campfire Build types, the RequiresHeatSourceCraftingTagConversion field automates this for the HeatSource tag. For other Build types, populate PlaceableProvidesCraftingTags manually with the GUIDs of the desired tag assets.
How does the armor falloff system work?
The Armor_Falloff* fields implement a two-threshold distance-based damage reduction system. Weapons firing from within Armor_Falloff_Range deal full damage. Weapons firing from between Armor_Falloff_Range and Armor_Falloff_MaxRange deal linearly decreasing damage. Weapons firing from beyond Armor_Falloff_MaxRange deal damage reduced by the Armor_Falloff_Multiplier factor. When Armor_Falloff_MaxRange is -1 (the default), the armor falloff system is disabled entirely and ranged weapons deal full damage at all distances.
Can a barricade be both Locked and Unpickupable?
Yes. Locked prevents other players from interacting with the barricade's functional behavior. Unpickupable prevents the barricade from being salvaged at all. The combination produces a barricade that only the owner can interact with and that cannot be removed from the world by any player. This is useful for server-owned quest props, event barricades, and admin-placed structures that should persist permanently.
How do I make a barricade that damages entities that walk over it?
Set Build Spike and configure the damage through the barricade's damage interaction configuration. Spike-type barricades automatically damage entities that collide with them. The damage values are determined by the spike type's internal damage fields, which are documented in the child class reference for ItemSpikeAsset if the mod uses that subclass. For base-class barricades, the Build type Spike triggers the damage-on-contact behavior by default.
What is the difference between Unpickupable and Unsalvageable?
Unpickupable prevents the barricade from being picked up at all - it cannot be removed from the world by any player action. Unsalvageable allows the barricade to be picked up but yields no materials when it is salvaged. The two flags can be combined: Unpickupable and Unsalvageable together produce a barricade that is fully permanent in the world and provides no material recovery when destroyed by damage.
Can a barricade have multiple interactability types?
No. The Interactability field accepts a single enum value. A barricade cannot be both Storage and Sentry simultaneously. For compound functionality, author separate barricade assets and provide them as a coordinated mod set. The one exception is the interaction between the base Interactability type and the Build type's built-in behavior - a Build Door barricade with Interactability None still opens and closes because the door behavior is driven by the Build type, not by the Interactability field.
Advanced considerations
Barricade networking and server performance
Every placed barricade consumes server resources proportional to its complexity. The key performance factors are: the number of placed barricade instances on the server (the dominant factor), whether the barricade has an active Animator (each animation state evaluation consumes CPU time), whether the barricade provides crafting tags (each proximity check is a distance calculation), and whether the barricade sends transform updates (moving or rotating barricades consume bandwidth). The cohort recommendation for large server builds is to minimize animated barricades, set Eligible_For_Pooling true on all barricade types, and keep PlaceableProvidesCraftingTags lists to five tags or fewer per barricade.
Barricade placement in hostile environment zones
Barricades placed in PvP zones (where player damage is enabled) and safe zones (where player damage is disabled) behave identically at the engine level. The .dat configuration does not include a zone-restriction field. Zone-specific placement rules must be enforced by the server's plugin system. If a barricade is intended only for safe zone placement (a shop stall, a spawn point indicator) or only for PvP zone placement (a raiding charge), the server documentation should state this restriction; the .dat file alone cannot enforce it.
Barricade migration between game versions
When Unturned™ receives a major update that changes the barricade system, existing barricade assets may stop functioning or behave differently. The most common migration issues are: Build enum additions or removals (a barricade using a removed Build value defaults to a fallback), new field additions with unexpected defaults (a barricade without a new field inherits a default that may not match the intended behavior), and field type changes (an old flag field converted to a bool type). The cohort practice is to test every barricade asset against the current Unturned™ version before each workshop update and to review the SDG changelog for barricade-relevant field changes.
Best practices
- Author barricade health relative to the weapon damage values in the mod's intended gameplay context. A barricade with
Health 500is appropriate for a PvE survival server but is destructible in seconds on a PvP raiding server. - Set
Allow_Collision_While_Animatingtofalsefor door, gate, and shutter barricades unless the animation explicitly requires collision. The physics exploit risk is real, and the visual improvement from active collision during animation is minimal. - Use
Has_Clip_Prefab falsefor every barricade unless you have a specific performance reason to use a separate clip prefab. The defaulttruevalue forces the server to look for a clip prefab that most barricade mods do not provide. - Set
Eligible_For_Pooling trueunless testing reveals pooling-related issues. Object pooling reduces server-side memory fragmentation for frequently-created and destroyed barricades. - Include
Proof_Explosionon barricades that should serve as primary base defenses. Without it, a single grenade or rocket can destroy an entire wall section. - Leave
Bypass_Claimat its defaultfalsefor standard barricades. OnlyChargetype barricades should bypass claims - allowing any other barricade type to bypass claims creates unintended raiding dynamics. - For storage barricades, set
Can_Zombies_Target falseto prevent zombies from attacking storage containers. Zombie AI targeting storage items is rarely intended gameplay behavior. - Author the
English.datName and Description to communicate the barricade's Build type and intended use case. A player scrolling through the inventory should be able to distinguish a barricade wall from a barricade trap without placing it.
Authoring checklist
Before publishing a barricade mod to the Steam Workshop, confirm the following:
- [ ] GUID is unique - generated fresh, not copied from another asset
- [ ] ID is in the 50000+ range
- [ ]
Buildenum value matches the intended barricade functional class - [ ] At least one placement flag is set correctly for the intended surface type
- [ ]
Healthis set to a reasonable value for the barricade's role - [ ]
Armor_Tiermatches the intended damage resistance profile - [ ]
Proof_Explosionis present for base-defense barricades - [ ]
Can_Be_Damagedreflects the intended durability state - [ ]
Can_Zombies_Targetisfalsefor storage and utility barricades - [ ]
Has_Clip_Prefab falseunless a separate clip prefab exists - [ ]
PlacementAudioClipis assigned if audio feedback should play on placement - [ ]
English.datis authored withNameandDescriptionfields - [ ] Prefab is built into a master bundle and copied to the mod's
Bundles/folder - [ ] Placement range and radius values are tested in single-player
- [ ] The barricade can be placed on all intended surface types
- [ ] The barricade cannot be placed on unintended surface types
- [ ] The barricade takes damage and is destroyed correctly at
Health 0 - [ ] Salvage behavior matches expectations (
Unpickupable,Unsalvageable,Salvage_Duration_Multiplier)
Appendix A: Barricade asset .dat quick reference
| Field | Type | Required | Default |
|---|---|---|---|
ID | uint16 | Yes | - |
GUID | uint128 | Yes | - |
Type | enum (Barricade) | Yes | - |
Useable | enum (Barricade) | Yes | - |
Build | enum | Yes | - |
Name | string | Yes | - |
Rarity | enum | No | Common |
Slot | enum | Yes | - |
Size_X | uint8 | Yes | - |
Size_Y | uint8 | Yes | - |
Range | float | No | 3.0 |
Radius | float | No | 2.0 |
Offset | float | No | 0.0 |
Health | uint16 | No | 0 |
Armor_Tier | enum | No | Low |
Armor_Falloff_MaxRange | float | No | -1 |
Armor_Falloff_Range | float | No | (same as MaxRange) |
Armor_Falloff_Multiplier | float | No | 0.5 |
Can_Be_Damaged | bool | No | true |
Proof_Explosion | flag | No | not set |
Vulnerable | flag | No | not set |
Can_Zombies_Target | bool | No | true |
Allow_Placement_On_Vehicle | bool | No | true |
Allow_Placement_Inside_Clip_Volumes | bool | No | false |
Allow_Collision_While_Animating | bool | No | false |
Bypass_Claim | bool/flag | No | false |
Bypass_Pickup_Ownership | bool | No | false |
Locked | flag | No | not set |
Salvage_Duration_Multiplier | float | No | 1.0 |
Unpickupable | flag | No | not set |
Unrepairable | flag | No | not set |
Unsalvageable | flag | No | not set |
Unsaveable | flag | No | not set |
Eligible_For_Pooling | bool | No | true |
CanVehicleHookWhileAttached | bool | No | false |
Has_Clip_Prefab | bool | No | true |
Use_Water_Height_Transparent_Sort | flag | No | not set |
PlacementAudioClip | bundle pointer | No | - |
PlacementPreviewPrefab | bundle pointer | No | - |
Explosion | GUID/uint16 | No | - |
RequiresHeatSourceCraftingTagConversion | bool | No | true |
Interactability | enum | No | None |
Appendix B: Barricade balance reference table
The table below provides cohort-validated health and armor reference values for barricades across functional categories. Values are baseline starting points; actual values depend on the target server's damage multipliers and gameplay economy.
| Barricade class | Health range | Armor_Tier | Proof_Explosion | Example Build type |
|---|---|---|---|---|
| Light prop | 50-150 | Low | No | Campfire, Note, Sign, Clock |
| Defensive barrier | 200-500 | Low | Recommended | Barricade, Barricade_Wall, Fortification |
| Trap | 25-100 | Low | No | Spike, Wire |
| Storage container | 400-800 | Low | No | Storage, Storage_Wall, Library |
| Door / Gate | 300-1000 | High | Recommended | Door, Gate, Shutter, Hatch |
| Heavy fortification | 800-2000 | High | Yes | Fortification, Sentry |
| Generator | 150-400 | Low | No | Generator, Oxygenator |
| Farm | 50-200 | Low | No | Farm, Cage |
| Admin / invulnerable | Any | Any | Optional | Use Can_Be_Damaged false instead |
Appendix C: External references
- Smartly Dressed Games official modding documentation - Barricade assets - the authoritative field reference for barricade asset types.
- Unturned on Steam - the Unturned™ store page and community hub.
- Objects, Structures, and Barricades - the companion guide covering the three-category distinction and placement pitfalls.
- Item Asset Anatomy - the shared field reference for all item types.
- Project Folder Structure and GUIDs - GUID generation and folder layout for item mods.
- Master Bundle Export - the Unity bundling workflow for barricade prefabs.
- Structure Asset Reference - the next article; covers the Structure asset type that barricade modders often pair with barricade mods.
- Supply Asset Reference - the previous article; covers crafting ingredient assets used in barricade blueprints.
Cross-references
- Objects, Structures, and Barricades - the companion three-category guide covering the full Object, Structure, and Barricade type distinction with placement pitfalls, navmesh interaction, and collision behavior.
- Structure Asset Reference - the next article; covers the architectural Structure asset type that shares the
ItemPlaceableAssetbase class with barricades. - Item Asset Anatomy - the shared identity field reference for all item assets including barricades.
- Supply Asset Reference - the previous article; covers crafting supply items commonly used in barricade blueprints.
- Project Folder Structure and GUIDs - GUID generation and folder layout for all item mod types.
- Master Bundle Export - the Unity bundling pipeline for packaging barricade prefabs into
.unity3dbundles. - Smartly Dressed Games modding documentation - the official field reference for barricade assets and related types.
- Unturned on Steam - the game's Steam page and community hub.
Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2026-07-26 | 57 Studios | Initial publication. Complete barricade .dat field reference, Build enum, placement flags, armor system, salvage configuration, interactability types, worked examples, advanced considerations, balance reference, and diagnostic table. |
