Object Asset Reference
The object asset is the data definition for every placed world object in Unturned™ - buildings, vehicles, furniture, debris, decals, NPC markers, resource nodes, and environmental props. Objects are the most numerous asset type on any map and serve the broadest functional range: they provide cover, collision, decoration, navigation landmarks, and interactivity. Unlike structures and barricades (which are player-placed), objects are placed by the level designer in the Unity Editor and are part of the map's base terrain.
Objects are created from the EObjectType enum system, which sorts them into five principal categories: Small (clutter and decoration), Medium (layout-filling assets), Large (level-defining structures), Decal (surface-applied textures), and NPC (character interaction markers). Each category uses the same core field set but with different defaults and feature enablement. The object asset also includes an extensive interactability system (doors, containers, notes, rubble, fuel and water sources, NPC dialogue and quest triggers), a rubble destruction system with multi-section breakable objects, a decal placement system with LOD bias, an interior culling system, a holiday-dependent visibility system, and a conditions-and-rewards system that links object visibility and interaction to quest and flag states.
This article is the 57 Studios™ canonical reference for the object asset type. It covers every .dat field applicable to objects, organized by functional system. The shared fields that appear on every asset (GUID, ID, Name, Type) are documented in Asset Definitions Reference; this article focuses on the fields that are unique to the object subclass and the configuration patterns that define each functional subsystem.

Documentation source: This article references the official Smartly Dressed Games modding documentation for field definitions and game behavior. 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™ map authors and object mod authors who are familiar with the Unity Editor, the level editor workflow, and the .dat authoring pipeline. If you are new to Unturned™ modding, start with Project Folder Structure and GUIDs, Custom Map Creation: Project Setup, and Objects, Structures, and Barricades before returning here.
What you'll learn
- The complete object asset
.datfield set organized by functional system - The
Type(EObjectType) enum and its implications for collision, culling, pathfinding, and feature enablement - The Large, Medium, and Small tiering system and the level-designer conventions for each tier
- The decal system including alpha transparency, scale, and LOD bias
- The interior culling system including LOD mode, center offset, size configuration, and culling volume exclusion
- The interactability system including all interact types (Binary_State, Dropper, Note, Water, Fuel, Rubble, NPC, Quest, Dialogue) with their associated fields
- The rubble destruction system including multi-section breakable objects, health, rewards, XP, blade ID restrictions, zombie damage, and nav integration
- The conditions and rewards system linking quest completion, flag states, and player inventory to object visibility and interaction outcomes
- The localization system including object name, interact prompt, dialogue override, and rich-text note lines
- The holiday restriction system for seasonal object visibility
- The landmark quality system for long-distance LOD rendering
- Worked examples for each object tier and functional subsystem
- A rich field reference table covering every object-specific field
Background: the object tiering system
The Type field (technically an EObjectType enum) is the most consequential decision in any object asset. It determines the object's collision behavior, culling behavior, pathfinding relationship, graphical settings filtering, and default feature enablement. Choosing the wrong Type at the start of authoring can require a complete rebuild of the object's prefab because several features (Load_Nav_On_Server, Load_Nav_In_Editor, Chart behavior, Collision_Important) have tier-specific defaults that change behavior when the Type changes.
| Type | Purpose | Collision | Default Load_Nav | Default Chart | Default Landmark_Quality |
|---|---|---|---|---|---|
Large | Level-defining structures, buildings, major terrain features | Full collision, Collision_Important auto-enabled | True | Large | Low |
Medium | Layout-filling objects, vehicle wrecks, medium props | Full collision | True | Medium | Low |
Small | Clutter and decoration, small props, debris | Full collision | False | None | Low |
Decal | Surface-applied textures, blood splatters, markings | No collision | False | Ignore | Low |
NPC | Quest givers, vendors, dialogue triggers, character markers | Varies by sub-type | False | Ignore | Low |
File and folder structure
Object asset files are organized by size tier in the Bundles/Objects/ directory:
Bundles/
Objects/
Large/
MyLargeBuilding/
Asset.dat
Object prefab files
LOD meshes
Medium/
MyMediumProp/
Asset.dat
Object prefab files
Small/
MySmallClutter/
Asset.dat
Object prefab filesThe Large, Medium, and Small subdirectories are a convention for organizing object assets by tier. Each object asset has its own subfolder containing the Asset.dat file, the Unity prefab files, and any LOD meshes. Decal and NPC objects do not have dedicated size subdirectories and may be placed in the Objects/ directory directly.
Complete .dat field reference
Identity and type fields
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
GUID | uint128 hex | Yes | - | 128-bit globally unique identifier for the object asset. |
ID | uint16 | Yes | - | Numeric object ID. Must be unique across all loaded object assets. |
Type | enum (EObjectType) | Yes | - | The object's type used for sorting, pathfinding, collision, and culling. Values: Large, Medium, Small, Decal, NPC. When using the NPC enumerator, refer to the NPC Character Assets documentation. |
Core object fields: collision, rendering, and behavior
| Field | Type | Required | Default | Valid values | Purpose |
|---|---|---|---|---|---|
Add_Kill_Triggers | bool | No | False | True, False | If True, adds a kill volume inside the object that kills players who clip inside it. Prevents out-of-bounds exploits such as players building bases inside boulder objects. |
Add_Night_Light_Script | flag | No | Not set | - | Adds a script that looks for a child transform named "Light". During the night the light is turned on; during the day the light is turned off. |
Allow_Structures | flag | No | Not set | - | Structures can be built on top of this object. Useful for objects that serve as a foundation for player building, such as a large flat platform. |
Causes_Fall_Damage | bool | No | True | True, False | Whether players should take fall damage when landing on this object. Set to False for objects that should serve as safe landing surfaces. |
Chart | enum (EObjectChart) | No | Varies by Type | Ignore, None, Large, Medium, Small | When an object obstructs the terrain, it can appear on a map's chart view. The pixel sampled for the object's color on the chart can be set or overridden. Large type objects default to Large; Medium type objects default to Medium. Defaults to Ignore when using Type Decal or Type NPC. |
Christmas_Redirect | GUID | No | None | Valid object asset GUID | GUID of the object that should appear during the Festive holiday. The replacement object is shown in place of this object during the Christmas season. |
Collision_Important | flag | No | Auto for Large | - | Prevents collision from being disabled. When using Type Large, this flag is automatically included. For other types, including this flag ensures collision is never disabled by the engine's dynamic collision management. |
Exclude_From_Level_Batching | bool | No | Varies by Type | True, False | Excludes this object from level batching. Useful when using elaborate setups with Unity Event components. Defaults to True when using Type Decal or Type NPC. |
Foliage | GUID | No | None | Valid foliage asset GUID | GUID of a foliage asset. Useful for objects such as fake grass, which may want foliage to bake on top of the object similar to terrain materials. |
Fuel | flag | No | Not set | - | Fuel can be siphoned from this object. Deprecated in favor of Interactability Fuel. |
Halloween_Redirect | GUID | No | None | Valid object asset GUID | GUID of the object that should appear during the Halloween holiday. |
Has_Clip_Prefab | bool | No | True | True, False | Whether the object has a Clip.prefab. If the object should use the same prefab on the server as on the client, set to False. Most official content uses Has_Clip_Prefab False. |
Holiday_Restriction | enum | No | None | None, Halloween, Christmas, AprilFools | If a valid value is specified, the object is only visible during the corresponding holiday. The specified holiday is appended to the object's user-friendly name. |
Is_Gore | bool | No | False | True, False | Whether this object should be visible if the player has disabled the "Show Blood Splatters" option in graphics settings. |
Is_Clutter | bool | No | False | True, False | If True, the object is not instantiated when the player has the "Load Clutter" graphics option disabled. Objects the player can collide with should never be clutter, otherwise the player will rubberband on these objects in multiplayer. |
Landmark_Quality | enum | No | Low | Off, Low, Medium, High, Ultra | The value that the "Landmarks" graphical setting must be set to in order to see a low detail model of this object from far away distances. |
Load_Nav_On_Server | bool | No | Varies by Type | True, False | If True, the Nav game object is instantiated in singleplayer and on dedicated server. Useful for objects which need to affect navmesh baking without colliding with zombies during gameplay. Defaults to True for Medium and Large objects. |
Load_Nav_In_Editor | bool | No | Varies by Type | True, False | If True, the Nav game object is instantiated in the level editor. Useful for objects which need collision with zombies during gameplay without affecting navmesh baking. Defaults to True for Medium and Large objects. |
Material_Palette | GUID | No | None | Valid material palette GUID | GUID of the Material Palette Asset that should be used by the object. |
Refill | flag | No | Not set | - | Water can be siphoned from this object. Deprecated in favor of Interactability Water. |
Snowshoe | flag | No | Not set | - | This object should not leave a footprint when baking materials. |
Soft | flag | No | Not set | - | Vehicles should not take damage when colliding with this object. |
Use_Water_Height_Transparent_Sort | flag | No | Not set | - | Useful for transparent objects such as glass. Ensures correct sorting of transparent pixels with water height. |
Exclude_From_Satellite_Capture | bool | No | Varies by Type | True, False | If True, the object is hidden when rendering the GPS/satellite view. Defaults to True if Holiday_Restriction is other than None. |
Chart field behavior
| Chart value | Behavior |
|---|---|
Ignore | Object does not appear on the chart view. Default for Decal and NPC objects. |
None | No override. The chart uses the default terrain pixel at the object's location. |
Large | Samples the chart pixel defined for the Large object category. Default for Large type objects. |
Medium | Samples the chart pixel defined for the Medium object category. Default for Medium type objects. |
Small | Samples the chart pixel defined for the Small object category. |
Collision_Important automatic enablement
When Type Large is selected, the Collision_Important flag is automatically included regardless of whether the field appears in the .dat file. Large objects cannot have their collision disabled by the engine's dynamic collision management system. For Medium and Small objects, Collision_Important is optional and should be included when the object's collision must never be disabled.
Holiday restriction and redirect system
The Holiday_Restriction field limits the object's visibility to a specific seasonal holiday. When a valid holiday value is specified, the object is only visible in-game during that holiday period. The holiday name is appended to the object's user-friendly name in the editor. The replacement mechanism also supports holiday-specific object swapping via Christmas_Redirect and Halloween_Redirect, which allow the same object slot to show a completely different asset during the holiday without requiring a separate object definition.
Decal system
Decals are surface-applied textures that render on top of terrain and other objects. They require Type Decal. Decals have no collision, no navmesh interaction, and are excluded from level batching by default.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Decal_Alpha | flag | No | Not set | Must be set if the decal has a transparent texture. Without this flag, transparent regions of the decal texture render as opaque. |
Decal_X | float | Yes | None | Override the scale of the decal on the X-axis. Controls the decal's width on the surface. |
Decal_Y | float | Yes | None | Override the scale of the decal on the Y-axis. Controls the decal's height on the surface. |
Decal_LOD_Bias | float | No | 1.0 | Multiplier for the LOD switching distance. Values above 1.0 make the decal visible from further away before it LODs out. |
Interior culling system
The interior culling system controls which objects are rendered or hidden based on the player's position relative to culling volumes. This is the mechanism that hides the interior of a building when the player is outside it and reveals the interior when the player enters.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Exclude_From_Culling_Volumes | bool | No | False | If True, the object is not managed by culling volumes. Useful for objects that should remain visible regardless of culling volume state. |
LOD | enum | No | None | How interior culling is determined. None disables interior culling. Mesh uses the mesh bounds to determine what is inside the object. Area uses multiple Occlusion Area components for interior volumes, useful for concave objects. |
LOD_Bias | float | No | None | Multiplier on the threshold distance for interior culling. Requires that LOD has been set. |
LOD_Center_X | float | No | None | Offset for the culling volume's local position on the X-axis. Requires that LOD has been set. |
LOD_Center_Y | float | No | None | Offset for the culling volume's local position on the Y-axis. Requires that LOD has been set. |
LOD_Center_Z | float | No | None | Offset for the culling volume's local position on the Z-axis. Requires that LOD has been set. |
LOD_Size_X | float | No | None | Offset for the culling volume's size on the X-axis. Requires that LOD has been set. |
LOD_Size_Y | float | No | None | Offset for the culling volume's size on the Y-axis. Requires that LOD has been set. |
LOD_Size_Z | float | No | None | Offset for the culling volume's size on the Z-axis. Requires that LOD has been set. |
Interactability system
The interactability system defines how a player interacts with an object in the game world. The Interactability enum selects the interaction type, and each type enables a specific subset of related fields.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Interactability | enum | No | Varies by Type | Controls the interaction behavior. None means the object cannot be interacted with. Binary_State creates toggleable objects (doors, switches). Dropper spawns items on interaction. Note displays lines of text. Water allows water siphoning. Fuel allows fuel siphoning. Rubble creates destructible objects. NPC enables dialogue, quests, and vendors. Quest enables quest interaction without NPC appearance. Dialogue opens the dialogue screen with a non-NPC appearance. Defaults to NPC when using Type NPC, otherwise defaults to None. |
Interactability None
The object cannot be interacted with by the player. No interaction prompt appears when the player looks at the object. This is the default for most decorative objects, scenery props, and terrain features that do not need player interaction.
Interactability Binary_State
Binary_State objects change between two visual states when interacted with - an open or closed door, an on or off switch. The state toggle is triggered by the player pressing the interact key while looking at the object.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Interactability_Animation_Component_Path | string | No | "Root" | Transform path relative to object root with Animation component. Specifies which child GameObject carries the animation that plays on state change. |
Interactability_Delay | float | No | 0 | Cooldown in seconds before the object can be interacted with again. Prevents rapid toggling. |
Interactability_Editor | enum | No | None | Determines how the interactable object appears in the level editor. Set to Toggle to show the alternative state in the editor viewport. |
Interactability_Effect | GUID or uint16 | No | None | Effect asset to play when the object is interacted with. |
Interactability_Emissive_Material_Mode | enum | No | Auto | Controls emissive material behavior for the child renderer of the Toggle game object. Auto creates a material instance (excluded from level batching texture atlas). None skips material instance creation. |
Interactability_Hint | enum | No | Door | Localization key for the interact prompt text. Values: Door, Switch, Fire, Generator, Use, Custom. |
Interactability_Nav | enum | No | None | Controls how the toggle state affects the Nav game object. None does not affect Nav. On activates Nav when the object is in the on state. Off activates Nav when the object is in the off state. |
Interactability_Power | enum | No | None | Whether the object must be powered to be usable. None means it cannot be powered. Toggle means the object must be powered to be interacted with. Stay means the object must be powered to remain on. |
Interactability_Remote | flag | No | Not set | Disables the ability for players to interact via a button prompt. The object can only be toggled through other game logic. |
Interactability_Reset | float | No | None | Delay before the object resets to its default state, in seconds. |
Interactability Dropper
Dropper objects spawn items when interacted with. They are configured with a list of item drops and a total drop count.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Interactability_Drops | byte | No | 0 | Total number of items dropped from the object. Used in conjunction with Interactability_Drop_#. |
Interactability_Drop_# | uint16 | No | None | ID of an item that should be dropped. The # is replaced with a zero-indexed drop slot number. |
Interactability_RewardItem_Origin | enum | No | Nature | Overrides the dropped item's quality state. Setting to Admin causes items to spawn at full quality. |
Note: The official documentation states it is preferable to use Interactability_Reward_ID instead of the drop system. The drop system is a legacy mechanism maintained for backward compatibility.
Interactability Note
Note objects display lines of rich-text formatted text when interacted with. The text is shown in a note-reading UI panel.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Interactability_Text_Lines | uint16 | No | 0 | Total number of lines to display. Used in conjunction with Interactability_Text_Line_# in the localization file. |
Interactability Water and Interactability Fuel
Water and Fuel objects are sources of consumable resources that players can siphon from using the appropriate container item.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Interactability_Resource | uint16 | No | 0 | How many units of fuel or water are stored in the object. When depleted, the object must regenerate or be refilled. |
Interactability_Reset | float | No | None | Delay before the object's resource resets or respawns, in seconds. |
Interactability Rubble
Rubble objects are destructible objects that break into sections when damaged. They support a multi-section destruction system where each section has independent health.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Interactability_Blade_ID | byte | No | 0 | Weapons can only damage this object if they have a matching BladeID_# value. |
Interactability_Delay | float | No | 0 | Cooldown before the object can be damaged again after being hit. |
Interactability_Effect | GUID or uint16 | No | None | Effect to play when a section is destroyed. |
Interactability_Finale | GUID or uint16 | No | None | Effect to play when all sections are destroyed. If used, all dead object sections are also hidden when fully destroyed. |
Interactability_Health | uint16 | No | 0 | Total amount of health each section has. |
Interactability_Hint | enum | No | Use | The interact prompt shown when looking at a destructible section. |
Interactability_Invulnerable | flag | No | Not set | Cannot be damaged by lower-power weapon assets that do not have the Invulnerable flag. |
Interactability_Proof_Explosion | flag | No | Not set | Immune to area-of-effect explosive damage. |
Interactability_Reset | float | No | None | Delay before a destroyed object respawns, in seconds. |
Interactability_Reward_ID | uint16 | No | 0 | ID of an item spawn table to use for rewards. |
Interactability_Rewards_Min | byte | No | 1 | Minimum amount of item drops to reward when a section is destroyed. |
Interactability_Rewards_Max | byte | No | 1 | Maximum amount of item drops to reward when a section is destroyed. |
Interactability_Reward_Probability | float | No | 1 | Probability of receiving a reward, as a decimal-to-percent chance (0.0 to 1.0). |
Interactability_Reward_XP | uint32 | No | 0 | Amount of experience to reward when the object is destroyed. |
Note: Although Interactability properties can create a destructible object, the dedicated Rubble_ system (documented below) is more specific to destruction mechanics. The official recommendation is to use the Rubble system for destructible objects while keeping the Interactability system for interaction, allowing destructible objects that are also interactable.
Interactability NPC, Quest, Dialogue
These interaction types connect objects to the NPC dialogue, quest, and vendor systems.
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Interactability_Dialogue | GUID | No | None | Dialogue asset to open for Interactability Dialogue mode. By default the object's name is used as the character name in dialogue, but this can be overridden with the Dialogue_Name option in the localization file. |
Rubble system
The Rubble system is the dedicated destruction system for object assets. It provides finer-grained control over destruction mechanics than the Interactability Rubble system and is the preferred approach for authoring destructible objects.
| Field | Type | Required | Default | Valid values | Purpose |
|---|---|---|---|---|---|
Rubble | enum | No | None | None, Destroy | The destruction mode. Destroy enables the rubble destruction system. All other Rubble_ fields require this field to be set. |
Rubble_All_Sections_Destroyed_Alert_Radius | float | No | None | Any non-negative float | If set, alerts nearby enemies when all sections are destroyed. |
Rubble_Blade_ID | byte | No | 0 | 0-255 | Weapons can only damage this object if they have a matching BladeID_# value. Default 0 means unrestricted. |
Rubble_Can_Zombies_Damage | bool | No | False | True, False | If True, zombies can attack this object if it is blocking their path. |
Rubble_Editor | enum | No | Alive | Alive, Dead | Determines how the destructible object appears in the level editor. Setting to Dead shows the fully destroyed state. |
Rubble_Effect | GUID or uint16 | No | None | Valid effect asset | Effect to play when a section of the destructible object is destroyed. |
Rubble_Finale | GUID or uint16 | No | None | Valid effect asset | Effect to play when all sections are destroyed. If used, all dead object sections are also hidden when fully destroyed. |
Rubble_Health | uint16 | No | 0 | 0-65535 | Total amount of health each section has. |
Rubble_Invulnerable | flag | No | Not set | - | Cannot be damaged by lower-power weapon assets that do not have the Invulnerable flag. |
Rubble_Nav_Mode | enum | No | Unaffected | Unaffected, DeactivateIfAllDead | Defaults to Unaffected. DeactivateIfAllDead deactivates the Nav game object when all rubble sections are destroyed. |
Rubble_Proof_Explosion | flag | No | Not set | - | Immune to area-of-effect explosive damage. |
Rubble_Reset | float | No | None | Any non-negative float | Delay before a destroyed object respawns, in seconds. |
Rubble_Respawn_All_Sections_Simultaneously | bool | No | False | True, False | If True, all sections respawn at the same time. |
Rubble_Reward_ID | uint16 | No | 0 | Valid spawn table ID | ID of an item spawn table to use for rewards. |
Rubble_Rewards_Min | byte | No | 1 | 0-255 | Minimum amount of item drops to reward. |
Rubble_Rewards_Max | byte | No | 1 | 0-255 | Maximum amount of item drops to reward. |
Rubble_Reward_Probability | float | No | 1 | 0.0-1.0 | Probability of receiving a reward, as a decimal-to-percent chance. |
Rubble_Reward_XP | uint32 | No | 0 | Any non-negative integer | Amount of experience to reward when the destructible object is destroyed. |
Rubble_Section_Destroyed_Alert_Radius | float | No | None | Any non-negative float | Alerts nearby enemies when an individual section is destroyed. Not used when the final section is destroyed. |
Rubble_Zombie_Damage_Multiplier | float | No | None | Any non-negative float | Multiplier for damage from zombies if Rubble_Can_Zombies_Damage is True. |
Conditions and rewards system
Conditions control the visibility and interactability of an object based on external triggers. The standard Conditions system controls object visibility (whether the object appears in the world at all). The Interactability_ prefixed conditions control whether the object can be interacted with.
| Field pattern | Applies to | Purpose |
|---|---|---|
Conditions | Object visibility | Controls whether the object is visible based on conditions. Standard condition property names without a prefix. |
Condition_# | Object visibility | Individual condition entries using the standard condition naming convention. |
Interactability_Conditions | Object interactability | Controls whether the object can be interacted with based on conditions. |
Interactability_Reward_# | Object interaction | Rewards triggered when the object is interacted with, such as completing a quest. |
Conditions can control object visibility after a quest is completed. Rewards can trigger consequences when the object is interacted with, such as completing the current quest stage.
Localization fields
The localization system provides user-facing text for objects. These fields go in the English.dat file.
| Field | Format | Purpose |
|---|---|---|
Name | string | Object name in user interfaces. Displayed when the player looks at the object. |
Interact | string | When the object uses Interactability_Hint Custom, this property sets the text displayed as the interact prompt. |
Interactability_Text_Line_# | Rich Text | A line of text displayed when a note object is interacted with. Supports rich text formatting. |
Dialogue_Name | string | Overrides the character name in dialogue. Defaults to the object name. |
Complete .dat examples
Example 1: Large building shell with interior culling
GUID a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d
ID 60001
Type Large
Add_Night_Light_Script
Allow_Structures
Exclude_From_Culling_Volumes False
LOD Mesh
LOD_Bias 1.5
LOD_Center_X 0
LOD_Center_Y 5
LOD_Center_Z 0
LOD_Size_X 20
LOD_Size_Y 10
LOD_Size_Z 20
Landmark_Quality Medium
Chart LargeCompanion English.dat:
Name Large Warehouse ShellExample 2: Medium vehicle wreck with rubble destruction
GUID b2c3d4e5f60a1b7c8d9e0f1a2b3c4d5e
ID 60010
Type Medium
Rubble Destroy
Rubble_Health 200
Rubble_Blade_ID 3
Rubble_Can_Zombies_Damage True
Rubble_Effect f1a2b3c4d5e64a7b8c9d0e1f2a3b4c5d
Rubble_Finale f2a3b4c5d6e64a7b8c9d0e1f2a3b4c5d
Rubble_Reset 120.0
Rubble_Rewards_Min 2
Rubble_Rewards_Max 4
Rubble_Reward_Probability 0.8
Rubble_Reward_XP 50
Rubble_Reward_ID 70001
Rubble_Zombie_Damage_Multiplier 0.5
Rubble_Nav_Mode DeactivateIfAllDead
Chart Medium
Landmark_Quality LowCompanion English.dat:
Name Destroyed Military TruckExample 3: Small clutter prop
GUID c3d4e5f60a1b7c8d9e0f1a2b3c4d5e6f
ID 60020
Type Small
Is_Clutter True
Causes_Fall_Damage False
Chart NoneCompanion English.dat:
Name Small Rock FormationExample 4: Decal with transparency
GUID d4e5f60a1b7c8d9e0f1a2b3c4d5e6f70
ID 60030
Type Decal
Decal_Alpha
Decal_X 2.0
Decal_Y 1.5
Decal_LOD_Bias 1.2
Exclude_From_Level_Batching TrueExample 5: NPC quest giver
GUID e5f60a1b7c8d9e0f1a2b3c4d5e6f7081
ID 60040
Type NPC
Interactability NPC
Interactability_Delay 0.5
Interactability_Hint Use
Chart Ignore
Exclude_From_Level_Batching True
Has_Clip_Prefab FalseExample 6: Fuel source with interactability
GUID f60a1b7c8d9e0f1a2b3c4d5e6f708192
ID 60050
Type Medium
Interactability Fuel
Interactability_Delay 2.0
Interactability_Resource 500
Interactability_Reset 300.0
Interactability_Hint Use
Chart MediumExample 7: Note with multiple text lines
GUID 60a1b7c8d9e0f1a2b3c4d5e6f708192a
ID 60060
Type Small
Interactability Note
Interactability_Text_Lines 3
Interactability_Delay 1.0
Interactability_Hint Read
Chart None
Is_Clutter FalseCompanion English.dat:
Name Old Journal Page
Interact Read the page
Interactability_Text_Line_0 <b>Journal Entry 47</b>
Interactability_Text_Line_1 I have been tracking the source of the outbreak for three days now.
Interactability_Text_Line_2 The military checkpoint north of the city may have answers.Example 8: Holiday-restricted object
GUID 1b7c8d9e0f1a2b3c4d5e6f708192a0b
ID 60070
Type Small
Holiday_Restriction Halloween
Is_Clutter False
Chart Ignore
Exclude_From_Satellite_Capture TrueExample 9: Condition-gated object visibility
GUID 2c8d9e0f1a2b3c4d5e6f708192a0c1b
ID 60080
Type Small
Condition_0 QuestComplete ExampleQuestFlag
Chart None
Is_Clutter FalseTier-specific authoring guidelines
Large object guidelines
Large objects are the most performance-sensitive category because they are always loaded and always collide. Always confirm Collision_Important is respected (automatic for Type Large). Set Landmark_Quality to at least Low so the object renders at long distances. Use interior culling for any Large object the player can enter. Set Allow_Structures only if the object has a flat, accessible surface players should be able to build on. Use Chart Large for major landmarks that should appear on the map view. Divide very large structures into multiple prefab sections with independent collision to avoid physics performance issues.
Medium object guidelines
Medium objects are the most common category for interactive objects. Set Load_Nav_On_Server True for objects that should affect zombie pathfinding. Use the Rubble system for destructible medium objects rather than the legacy Interactability Rubble system. Set Chart Medium for objects large enough to appear on the map view. Avoid setting Is_Clutter True on medium objects placed at high density.
Small object guidelines
Small objects are the primary category for decorative clutter and environmental detail. Set Is_Clutter True for purely decorative objects that do not affect gameplay. Never set Is_Clutter True on objects the player can collide with - this causes rubberbanding in multiplayer. Set Causes_Fall_Damage False on small objects players might step onto. Use Chart None or omit the field. Set Landmark_Quality Off.
Decal object guidelines
Always set Decal_Alpha for decals with transparency. Set Decal_X and Decal_Y to the intended surface coverage. Use Decal_LOD_Bias values above 1.0 for important decals that should remain visible at distance. Set Exclude_From_Level_Batching True for decals with animated or dynamic materials.
NPC object guidelines
Always reference a valid NPC Character Asset when using Type NPC. Set Has_Clip_Prefab False for most NPC objects. Set Exclude_From_Level_Batching True. Use Interactability_Hint Use for generic NPC interaction prompts. Provide a Dialogue_Name in the localization file to override the default object name.
Diagnostic table
| Symptom | Most likely cause | Resolution |
|---|---|---|
| Object does not appear in-game | Holiday_Restriction blocks visibility outside the holiday period | Check the holiday restriction value; remove if year-round visibility is intended |
| Object collision does not work | Type Medium/Small without Collision_Important | Add Collision_Important flag |
| Object rubberbands in multiplayer | Is_Clutter True on a collidable object | Set Is_Clutter False on any object the player can collide with |
| Decal renders opaque instead of transparent | Decal_Alpha flag missing | Add Decal_Alpha |
| Decal appears at wrong scale | Decal_X and Decal_Y not set or wrong | Set correct X and Y scale |
| Interior of building not culling properly | LOD field not set or culling volume misconfigured | Set LOD Mesh or LOD Area and configure center and size |
| Interior culling hides wrong objects | Exclude_From_Culling_Volumes should be True | Set to True on objects that should not be managed by culling volumes |
| Object does not appear on map view | Chart field set to Ignore or None | Set Chart to the appropriate tier |
| Binary_State door does not animate | Animation_Component_Path wrong or animation missing | Verify the path and animation clip |
| Note object shows no text | Text_Lines not set or localization keys missing | Set Text_Lines and author all entries in English.dat |
| Rubble object does not break | Health is 0 or Rubble not set | Set Rubble Destroy and configure health |
| Rubble object breaks but no drops | Reward_ID not set or spawn table empty | Set a valid spawn table ID |
| Rubble object respawns instantly | Reset not set or set to 0 | Set the intended respawn delay |
| Object not damaged by weapons | Blade_ID restricts damage | Set Rubble_Blade_ID 0 to allow all weapons |
| Zombies walk through destructible object | Can_Zombies_Damage is False | Set Rubble_Can_Zombies_Damage True |
| Fuel/water object always empty | Interactability_Resource is 0 | Set the intended resource capacity |
| NPC object does not open dialogue | Dialogue GUID missing or not loaded | Confirm the dialogue asset GUID is valid |
| Night light script does not work | Add_Night_Light_Script missing or Light transform not found | Add flag and ensure prefab has child named "Light" |
| Kill trigger does not kill clippers | Add_Kill_Triggers is False | Set Add_Kill_Triggers True |
Frequently asked questions
Can one object have both Interactability and Rubble systems active?
Yes. The official documentation states that although Interactability properties can create a destructible object, it is preferable to use the Rubble system for destruction mechanics while keeping the Interactability system for interaction. This allows creating destructible objects that are also interactable.
What is the difference between Interactability Rubble and the dedicated Rubble system?
The dedicated Rubble system (prefixed with Rubble_) is more specific to the destruction mechanic and is the recommended approach for new object assets. The Interactability system should be reserved for the interaction behavior, while the Rubble_ system handles the destruction behavior. Both systems can coexist in the same asset.
How many sections can a rubble object have?
The engine does not impose a hard limit on the number of rubble sections. The practical limit is determined by performance considerations - each section adds draw calls and physics processing. The cohort recommendation is to use 2-6 sections for most destructible objects.
Can a condition-gated object become visible after a quest, then become interactable after a second condition?
Yes. The Conditions system controls visibility, and the Interactability_Conditions system controls interactability. These are independent gate systems. An object could be invisible until quest A is complete, then visible but non-interactable until quest B is accepted.
What happens if I set Type Decal but omit Decal_X and Decal_Y?
The decal will not render correctly because the engine has no scale information to determine the decal's size on the surface. The decal may appear as a single pixel, as a very small tile, or it may fail to render entirely. Both Decal_X and Decal_Y are required for Type Decal objects.
Can a Large object become interactive without requiring interior culling?
Yes. Interactability and interior culling are independent systems. A Large object can have Interactability Binary_State (a large hangar door) without requiring interior culling if the object does not have an interior space that needs to be hidden when the player is outside.
How do the Christmas_Redirect and Halloween_Redirect fields interact with Holiday_Restriction?
When a redirect GUID is set, the engine swaps the entire object for the specified replacement object during the holiday. This is different from Holiday_Restriction, which simply hides the object outside the holiday period. A redirect allows a completely different object (with different collision, interactability, and visuals) to appear during the holiday season.
Do holiday-restricted objects still load in memory outside the holiday period?
The object asset itself is loaded at level load time regardless of holiday restrictions. The object's resources (meshes, textures, materials) remain in memory. Only the in-game rendering is suppressed by the holiday restriction. Objects controlled via redirect also stay in memory because the redirect target must be loaded.
Can I use the Fuel flag and Interactability Fuel on the same object?
The Fuel flag is deprecated in favor of Interactability Fuel. Setting both on the same object may produce undefined behavior. Use Interactability Fuel exclusively for new object assets.
What is the practical difference between Load_Nav_On_Server and Load_Nav_In_Editor?
Load_Nav_On_Server controls whether the Nav game object is instantiated during actual gameplay. Load_Nav_In_Editor controls whether it appears in the level editor viewport. Objects that need to affect zombie pathfinding at runtime should have Load_Nav_On_Server True. Objects that need collision with zombies during gameplay but should not affect navmesh baking should have Load_Nav_In_Editor True and Load_Nav_On_Server False.
Can a Rubble object and an Interactability Dropper coexist on the same object?
Yes, but only if the interactability type supports it. If Interactability is set to Dropper and Rubble Destroy is also set, the object can be destroyed by damage (producing rubble rewards) and also interacted with directly to drop items. The two reward pools are independent.
How do I make an object that is visible only on specific graphics quality settings?
Use Landmark_Quality to control visibility at long distances, and Is_Clutter to control visibility based on the "Load Clutter" option. For more granular graphics-settings filtering, the object's prefab material quality, LOD group settings, and mesh complexity should be tuned in Unity rather than through the .dat file.
Can I use Interactability Power Stay on a door so it closes when power is lost?
Yes. This is a common configuration for powered doors in base-defense maps. Set Interactability Power Stay so the door remains open only while powered. When the generator runs out of fuel or is destroyed, the door closes automatically.
What is the maximum value for Rubble_Health?
Rubble_Health is a uint16 with a maximum value of 65535. For most destructible objects, values in the range of 50-500 are appropriate. Boss arena obstacles or heavily fortified objects may use values up to several thousand.
Best practices
- Choose the correct
Typeat the start of authoring. Changing it later requires validating every field that has tier-specific defaults. - Use interior culling (
LOD MeshorLOD Area) for any Large object the player can enter. - Never set
Is_Clutter Trueon collidable objects - this causes rubberbanding in multiplayer. - Use the dedicated
Rubble_system for destructible objects rather than the legacyInteractability Rubblesystem. - Always set
Exclude_From_Culling_Volumes Trueon background objects that should remain visible regardless of player position. - Set
Has_Clip_Prefab Falsefor objects where the server and client should use the same prefab (most official content follows this pattern). - Author separate chart values for each tier -
Chart Largefor major landmarks,Chart Mediumfor notable props,Chart Ignorefor small details. - Test holiday-restricted objects by temporarily removing the restriction during development to verify the base object is correct.
- Document object interactability in the map's documentation so players know which objects are interactive.
- Use
Interactability_Hint Customwith a descriptiveInteracttext for objects that have non-standard interaction prompts.
Advanced considerations
Object file format completeness
Object asset .dat files follow the standard Unturned item file format: UTF-8 without BOM, CRLF line endings, single-space key-value separator, and // comment prefix. The file format does not support nesting or block structures. All fields are flat key-value pairs at the top level.
When the parser encounters a field it does not recognize or a value of the wrong type, it skips that line silently and continues. This means a misspelled field name causes the field to be ignored at load time with no error message. The most critical field to spell correctly is Type, because an invalid type value causes the object to fail to load as an object asset entirely - the asset may appear in the asset list but will not render in the level.
Multi-object prefab optimization for Large structures
For very large structures that contain multiple functional sub-objects (a warehouse with separate collision for the walls, floor, roof, and interior objects), the cohort recommendation is to author the main structure as a single Large object with interior culling and to place interior interactable objects (containers, notes, NPCs) as separate Medium or Small objects inside the culling volume. This separation allows the interactable objects to be managed independently - they can be destroyed, moved, or removed without affecting the main structure.
Rubble Nav interaction with Interactability Nav
When Rubble_Nav_Mode is combined with Interactability_Nav, the Nav game object is only active if both systems activate it (AND logic). For example, Interactability_Nav On (object is in the open state) AND Rubble_Nav_Mode Unaffected (all sections intact) means Nav is active. If either condition is false, Nav is inactive. This combined behavior is useful for creating doors that block zombie paths while closed and intact, but stop blocking once the door is open or destroyed.
Performance considerations for object-heavy maps
Maps with thousands of placed objects benefit from careful use of the Is_Clutter, Landmark_Quality, and Exclude_From_Level_Batching fields. Objects tagged as clutter are excluded entirely when the player disables the Load Clutter option, which is the single biggest performance lever for low-end clients. Objects with high Landmark_Quality thresholds render as low-detail landmarks at distance, reducing the per-frame draw call count. Objects excluded from level batching cannot benefit from the batching optimization and should be limited to objects that genuinely need per-object material instances.
Appendix A: Object type field assignment quick reference
| If your object is... | Use Type |
|---|---|
| A building the player can enter | Large |
| A major terrain feature | Large |
| A vehicle wreck | Medium |
| A placeable container | Medium |
| A fuel pump or water source | Medium |
| A small rock or grass tuft | Small |
| A readable note | Small |
| A blood splatter on the ground | Decal |
| A road marking | Decal |
| A quest giver | NPC |
| A dialogue trigger | NPC or Dialogue interactability |
Appendix B: Rubble system vs. Interactability Rubble comparison
| Aspect | Dedicated Rubble system | Interactability Rubble |
|---|---|---|
| Field prefix | Rubble_ | Interactability_ |
| Primary use | Destruction mechanics | Interaction behavior |
| Can coexist with other Interactability types? | Yes | No (only one Interactability at a time) |
| Official recommendation | Preferred for new objects | Legacy |
| Zombie damage control | Rubble_Can_Zombies_Damage + Rubble_Zombie_Damage_Multiplier | Not available |
| Nav mode control | Rubble_Nav_Mode | Not available |
| Simultaneous respawn | Rubble_Respawn_All_Sections_Simultaneously | Not available |
Appendix C: External references
- Smartly Dressed Games official modding documentation - Object Assets - the authoritative field reference for object asset configuration.
- Unturned on Steam - the Unturned™ store page and community hub.
- Objects, Structures, and Barricades - the companion article covering the three placed-asset categories.
- Trap Asset Reference - the previous article in this section.
- Asset Definitions Reference - the shared field reference for all asset types including objects.
- Custom Map Creation: Project Setup - the map authoring workflow for placing objects in the level editor.
- Project Folder Structure and GUIDs - GUID generation and folder layout for all mod types.
Authoring checklist
Before publishing an object mod or a map containing custom objects, confirm the following:
- [ ] GUID is unique - generated fresh, not copied from another asset
- [ ] ID is unique across all loaded object assets
- [ ]
Typeis set to the correctEObjectTypevalue (Large, Medium, Small, Decal, NPC) - [ ] Decal objects have
Decal_XandDecal_Yset - [ ] Holiday-restricted objects are tested without the restriction during development
- [ ] Interactive objects have the correct
Interactabilitytype and associated fields - [ ] Interactability_Hint is set to the appropriate prompt type or
CustomwithInteractlocalization - [ ] Rubble objects have
Rubble Destroyset andRubble_Healthconfigured - [ ] Condition-gated objects have the correct conditions and rewards configured
- [ ] Note objects have
Interactability_Text_Linesset and all localization keys authored - [ ]
Landmark_Qualityis set appropriately for Large and Medium objects - [ ] Collidable small objects do not have
Is_Clutter True - [ ] Objects with animated children have
Exclude_From_Level_Batching True - [ ]
Has_Clip_Prefabis set toFalseif the server and client share the same prefab - [ ] Nav-related fields (
Load_Nav_On_Server,Load_Nav_In_Editor) are configured per the object's role - [ ] Tested in the level editor: object renders at expected position, collision matches visual, interactability works, rubble destruction behaves as intended
Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2026-07-26 | 57 Studios | Initial publication. Complete object asset .dat field reference, tiering system, decal system, interior culling, interactability, rubble destruction, conditions and rewards, localization, worked examples for each tier, FAQ, diagnostic table, appendices. |
Cross-references
- Trap Asset Reference - the previous article in this section; covers the trap asset subclass.
- Vehicle Asset Reference - the next article in this section.
- Objects, Structures, and Barricades - the companion article covering the three placed-asset categories and the barricade/object distinction.
- Asset Definitions Reference - the shared field reference for all asset types.
- Custom Map Creation: Project Setup - the map authoring workflow.
- Project Folder Structure and GUIDs - GUID generation and folder layout.
- Smartly Dressed Games modding documentation - official field reference.
- Unturned on Steam - game page and community.
