Skip to content

Barricade Asset Reference

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.

Barricades placed in the world including sandbags, a campfire, and a storage crate on a structure floor

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 ItemBarricadeAsset field set including placement, armor, salvage, and audio fields
  • The Build enum 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*, and Proof_Explosion interactions
  • The salvage and repair configuration surface including Salvage_Duration_Multiplier, Unrepairable, Unsalvageable, Unpickupable, and Bypass_Pickup_Ownership
  • How barricade health, damage, and destruction work including the Vulnerable and Can_Be_Damaged fields
  • The RequiresHeatSourceCraftingTagConversion system for heat-producing barricades
  • Worked .dat examples 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 valueFunctional classExample usageKey behaviors
Barrel_RainRain barrelWater collectionCollects rainwater; interacts with the fluid system
BarricadeGeneric barricadeSandbags, wire fencesStandard deployable; no special interaction logic
Barricade_WallWall-type barricadeTall metal barricadesExtended collision; blocks line of sight
BeaconHorde beaconHorde beaconEnemy wave spawner; requires powered state
BedSleeping bag / bedSleeping bags, cotsSpawn point registration; claim ownership
CageAnimal cageAnimal trapsCaptures live animals; interacts with animal system
CampfireFire sourceCampfires, fire pitsProvides light, heat, cooking capability
ChargeDemolition chargeExplosive charges, breachesExplodes on trigger; damages surrounding objects
ClaimLand claimOwnership flagsMarks territory; grants build permissions
ClockTime displayWall clocks, alarm clocksDisplays in-game time; alarm triggers
DoorDoorwayMetal doors, wooden doorsBinary state; opens and closes; can be locked
FarmPlant pot / planterCrop planters, garden bedsSupports plant growth; interacts with farming system
FortificationDefensive positionSandbag emplacements, reinforced barriersProvides cover; reduces incoming damage to occupants
FreeformFreeform barricadeCustom shapesNo grid restriction; arbitrary placement orientation
GateGate / garage doorLarge gates, vehicle barriersOpens and closes for vehicle passage; lockable
GeneratorPower generatorGas generators, solar panelsProduces power for nearby electrical barricades
GlassGlass panelWindow panes, glass wallsTransparent; low health; breaks on impact
HatchHatch / trapdoorFloor hatches, roof accessBinary state on horizontal surface; can be locked
LadderClimbable ladderWooden ladders, metal laddersProvides vertical movement; player attaches to ladder
LibraryBook storageBookshelvesStores books and readable items
MannequinDisplay mannequinArmor stands, clothing displaysDisplays wearable items visually
NoteNote / signNotes, bulletin boardsStores readable text; players can write on it
OilOil containerOil barrels, fuel cachesStores fuel; interacts with generator system
OvenCooking stationOvens, furnaces, stovesProvides cooking capability; requires fuel
OxygenatorAir supplyOxygen tanks, air filtersProvides breathable air in underwater environments
SafezoneSafe zone markerSafe zone pillarsPrevents damage and PvP within radius
SentryAutomated turretSentry gunsAutomated targeting; fires at enemies within range
Sentry_FreeformTurret (freeform)Custom sentry mountsSame as Sentry but without restriction on placement orientation
ShutterWindow shutterMetal shutters, blast doorsOpens and closes; lockable; provides window coverage
Sign_WallWall-mounted signWall plaques, nameplatesMounted on wall; displays text
SignFree-standing signRoad signs, information boardsPlaced on ground or floor; displays text
SpikeTrap / spikeBarbed wire, caltrops, spike stripsDamages entities that walk over it
SpotSpotlightSearchlights, floodlightsDirectional light; player-adjustable angle
StereoMusic playerRadios, stereos, speakersPlays audio clips; range-limited broadcast
StorageItem containerCrates, lockers, cabinetsStores items in internal grid inventory
Storage_WallWall-mounted containerWall lockers, medicine cabinetsWall-mounted storage with internal grid inventory
TankFluid tankWater tanks, fuel tanksStores fluids; connects to pipe system
TorchLight sourceWall torches, lanternsProvides light; can be lit or unlit state
VehicleVehicle spawnerVehicle spawn padsSpawns vehicles on activation
WireWire fenceChain link fences, barbed wireTransparent 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 description

The 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.

FieldTypeExampleRequiredPurpose
IDuint1650300YesNumeric item ID. Must be unique across all loaded mods. Use IDs in the 50000+ range to avoid collision with vanilla and established community mods.
GUIDuint128 hexa1b2c3d4e5f64a7b8c9d0e1f2a3b4c5dYes128-bit globally unique identifier. Generate a new GUID for every new barricade. Never reuse GUIDs.
TypeenumBarricadeYesMust be Barricade for barricade assets. When intending to use a child class that requires a different enumerator, refer to that class's documentation.
UseableenumBarricadeYesMust be Barricade for barricade assets. This field controls which Useable class the engine instantiates for the type.
BuildenumBarricadeYesThe barricade's functional classification. Must be one of the thirty values documented in the Build enum section.
NamestringCustomSandbagWallYesInternal name. Used in console commands and cross-references.
RarityenumCommonNoControls the inventory highlight color. Values: Common, Uncommon, Rare, Epic, Legendary, Mythical. Defaults to Common.
SlotenumBarricadeYesInventory slot. Must be Barricade for barricade items.
Size_Xuint82YesWidth in inventory grid cells.
Size_Yuint81YesHeight in inventory grid cells.
ModelstringCustomSandbagPrefabNoOverride the prefab name if it differs from the Name field.
InventoryAudiomaster bundle pointer-NoThe 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.

FieldTypeDefaultPurpose
Rangefloat3.0The 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.
Radiusfloat2.0The 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.
Offsetfloat0.0In 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_VehiclebooltrueIf 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_VolumesboolfalseIf 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_AnimatingboolfalseWhether 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.

FieldTypeDefaultPurpose
Healthuint160Total health value. A barricade with Health 0 is destroyed on first hit. Typical values range from 50 (campfire) to 2000 (reinforced fortification).
Armor_TierenumLowBarricade 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_MaxRangefloat-1Ranged 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_Rangefloat(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_Multiplierfloat0.5A 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_DamagedbooltrueIf true, this barricade can be damaged by weapons, explosives, melee, and zombie attacks. Set to false for decorative barricades or undamageable quest props.
Proof_Explosionflagnot setWhen 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.
Vulnerableflagnot setWhen 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_TargetbooltrueIf 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.
ExplosionGUID 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.

FieldTypeDefaultPurpose
Bypass_Claimbool / flagfalseWhen 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_OwnershipboolfalseIf 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).
Lockedflagnot setWhen 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.

FieldTypeDefaultPurpose
Salvage_Duration_Multiplierfloat1.0Multiplier 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.
Unpickupableflagnot setWhen present, disables the ability to pick up a placed barricade. The barricade is permanent once placed. For example, the Horde Beacon uses this flag.
Unrepairableflagnot setWhen present, the barricade cannot be repaired by a MeleeAsset with the RepairTool flag. A blowtorch or repair wrench will not work on this barricade.
Unsalvageableflagnot setWhen 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.
Unsaveableflagnot setWhen 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

FieldTypeDefaultPurpose
PlacementAudioClipmaster bundle pointer-The AudioClip to play when the barricade is placed. Provides immediate audio feedback to the placing player and nearby players.
PlacementPreviewPrefabmaster 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_PrefabbooltrueWhether 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_Sortflagnot setUseful 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

FieldTypeDefaultPurpose
Eligible_For_PoolingbooltrueIf 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.
CanVehicleHookWhileAttachedboolfalseBy 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:

  1. Adds the vanilla HeatSource tag (GUID 20f30322bbcc4b01a4f116d22b24c21a) to PlaceableProvidesCraftingTags if that field is empty.
  2. Adds a CraftingTagModifier component to the Fire child GameObject with Mode Remove, ActivationRequirement Invert, and Tag 20f30322bbcc4b01a4f116d22b24c21a. This removes the HeatSource tag when Fire is inactive.
  3. Adds a CraftingTagProvider component to the barricade GameObject with Modifiers set to the component added to Fire.

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 false

Companion 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 false

Companion 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 false

Companion 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 3

Prefab 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 typeRequired componentsOptional components
Barricade, Barricade_Wall, FortificationMeshRenderer, MeshFilter, ColliderAudioSource, NavMeshObstacle
Storage, Storage_WallMeshRenderer, MeshFilter, ColliderAudioSource
Door, Gate, Hatch, ShutterMeshRenderer, MeshFilter, Collider, AnimatorAudioSource (for open/close sounds)
BedMeshRenderer, MeshFilter, ColliderAudioSource
Campfire, Oven, TorchMeshRenderer, MeshFilter, ColliderAudioSource, ParticleSystem (for fire effects)
Sentry, Sentry_FreeformMeshRenderer, MeshFilter, Collider, AnimatorAudioSource, ParticleSystem
GeneratorMeshRenderer, MeshFilter, ColliderAudioSource (for running sound), ParticleSystem
Spike, Wire, TrapMeshRenderer, MeshFilter, ColliderAudioSource (for activation sound)
Sign, Sign_Wall, NoteMeshRenderer, MeshFilter, ColliderTextMeshPro (for sign text display)
BeaconMeshRenderer, MeshFilter, Collider, AnimatorAudioSource, ParticleSystem, Light
ChargeMeshRenderer, MeshFilter, ColliderAudioSource, 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 typeWhen to useGuidelines
BoxColliderRectangular barricades (crates, panels, doors)Size the collider to match the visual mesh closely. Add 0.01 m inset on shared edges with adjacent barricades.
CapsuleColliderCylindrical 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 moveOnly 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 valueRequired additional fieldsBehavior
None-No interaction. The barricade is a static prop.
Binary_StateInteractability_Reset (optional)Two-state toggle. Opens/closes, activates/deactivates.
Dropper-Drops items when interacted with. Used for dispensers.
NoteInteractability_TextDisplays readable text on interaction.
FuelInteractability_HealthAccepts 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.
DoorInteractability_ResetOpens and closes. Supports locking.
HatchInteractability_ResetOpens and closes on horizontal surface. Supports locking.
StorageInteractability_Storage_X, Interactability_Storage_YProvides internal inventory grid for item storage.
Sentry-Automated targeting turret.
Library-Stores and displays readable items.
Mannequin-Displays wearable items visually.
GeneratorInteractability_HealthProduces power. Accepts fuel.
Spot-Directional light with adjustable angle.

Diagnostic table

SymptomMost likely causeResolution
Barricade cannot be placed on any surfaceAll placement flags set to false or omittedAdd at least one placement flag (Allow_Placement_On_Vehicle, or set Allow_Placement_Inside_Clip_Volumes)
Barricade appears invisible when placedPrefab reference broken or Has_Clip_Prefab true with no clip prefabRe-assign prefab in Unity; set Has_Clip_Prefab false to use the same prefab on server and client
Barricade does not save across server restartsUnsaveable flag presentRemove the Unsaveable flag unless intentional
Barricade cannot be picked upUnpickupable flag presentRemove the Unpickupable flag if salvage should be allowed
Barricade cannot be repairedUnrepairable flag presentRemove the Unrepairable flag
Barricade destroyed by explosives despite expectationsProof_Explosion flag missingAdd the Proof_Explosion flag
Barricade breaks in one hitHealth set to 0 or very lowSet Health to the intended value (minimum 50 for fragile props)
Placement preview shows wrong modelPlacementPreviewPrefab points to wrong prefabCorrect the prefab reference in the .dat
No sound on placementPlacementAudioClip field missing or pointing to missing audioSet PlacementAudioClip to a valid master bundle audio clip
Zombies ignore the barricade entirelyCan_Zombies_Target set to falseSet Can_Zombies_Target true or add a NavMeshObstacle component to the prefab
Players can place the barricade in claimed enemy territoryBypass_Claim not set when it should beRemove Bypass_Claim or set it to false
Non-owners cannot pick up the barricade they builtBypass_Pickup_Ownership missingAdd Bypass_Pickup_Ownership true
Salvage takes too longSalvage_Duration_Multiplier set too highReduce the multiplier toward 1.0
Animated barricade pushes players through geometryAllow_Collision_While_Animating trueSet Allow_Collision_While_Animating false
Storage crate has no inventory when placedInteractability Storage field missingAdd 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 500 is appropriate for a PvE survival server but is destructible in seconds on a PvP raiding server.
  • Set Allow_Collision_While_Animating to false for 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 false for every barricade unless you have a specific performance reason to use a separate clip prefab. The default true value forces the server to look for a clip prefab that most barricade mods do not provide.
  • Set Eligible_For_Pooling true unless testing reveals pooling-related issues. Object pooling reduces server-side memory fragmentation for frequently-created and destroyed barricades.
  • Include Proof_Explosion on barricades that should serve as primary base defenses. Without it, a single grenade or rocket can destroy an entire wall section.
  • Leave Bypass_Claim at its default false for standard barricades. Only Charge type barricades should bypass claims - allowing any other barricade type to bypass claims creates unintended raiding dynamics.
  • For storage barricades, set Can_Zombies_Target false to prevent zombies from attacking storage containers. Zombie AI targeting storage items is rarely intended gameplay behavior.
  • Author the English.dat Name 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
  • [ ] Build enum value matches the intended barricade functional class
  • [ ] At least one placement flag is set correctly for the intended surface type
  • [ ] Health is set to a reasonable value for the barricade's role
  • [ ] Armor_Tier matches the intended damage resistance profile
  • [ ] Proof_Explosion is present for base-defense barricades
  • [ ] Can_Be_Damaged reflects the intended durability state
  • [ ] Can_Zombies_Target is false for storage and utility barricades
  • [ ] Has_Clip_Prefab false unless a separate clip prefab exists
  • [ ] PlacementAudioClip is assigned if audio feedback should play on placement
  • [ ] English.dat is authored with Name and Description fields
  • [ ] 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

FieldTypeRequiredDefault
IDuint16Yes-
GUIDuint128Yes-
Typeenum (Barricade)Yes-
Useableenum (Barricade)Yes-
BuildenumYes-
NamestringYes-
RarityenumNoCommon
SlotenumYes-
Size_Xuint8Yes-
Size_Yuint8Yes-
RangefloatNo3.0
RadiusfloatNo2.0
OffsetfloatNo0.0
Healthuint16No0
Armor_TierenumNoLow
Armor_Falloff_MaxRangefloatNo-1
Armor_Falloff_RangefloatNo(same as MaxRange)
Armor_Falloff_MultiplierfloatNo0.5
Can_Be_DamagedboolNotrue
Proof_ExplosionflagNonot set
VulnerableflagNonot set
Can_Zombies_TargetboolNotrue
Allow_Placement_On_VehicleboolNotrue
Allow_Placement_Inside_Clip_VolumesboolNofalse
Allow_Collision_While_AnimatingboolNofalse
Bypass_Claimbool/flagNofalse
Bypass_Pickup_OwnershipboolNofalse
LockedflagNonot set
Salvage_Duration_MultiplierfloatNo1.0
UnpickupableflagNonot set
UnrepairableflagNonot set
UnsalvageableflagNonot set
UnsaveableflagNonot set
Eligible_For_PoolingboolNotrue
CanVehicleHookWhileAttachedboolNofalse
Has_Clip_PrefabboolNotrue
Use_Water_Height_Transparent_SortflagNonot set
PlacementAudioClipbundle pointerNo-
PlacementPreviewPrefabbundle pointerNo-
ExplosionGUID/uint16No-
RequiresHeatSourceCraftingTagConversionboolNotrue
InteractabilityenumNoNone

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 classHealth rangeArmor_TierProof_ExplosionExample Build type
Light prop50-150LowNoCampfire, Note, Sign, Clock
Defensive barrier200-500LowRecommendedBarricade, Barricade_Wall, Fortification
Trap25-100LowNoSpike, Wire
Storage container400-800LowNoStorage, Storage_Wall, Library
Door / Gate300-1000HighRecommendedDoor, Gate, Shutter, Hatch
Heavy fortification800-2000HighYesFortification, Sentry
Generator150-400LowNoGenerator, Oxygenator
Farm50-200LowNoFarm, Cage
Admin / invulnerableAnyAnyOptionalUse Can_Be_Damaged false instead

Appendix C: External references

Cross-references

Document history

VersionDateAuthorNotes
1.02026-07-2657 StudiosInitial 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.