Blueprint Asset Reference
Blueprints are the crafting-recipe system of Unturned™. A blueprint defines a transformation -- one or more input items are consumed to produce one or more output items, with optional skill requirements, workstation tags, map restrictions, and quest conditions. Every blueprint is defined on the item that hosts it, in that item's Asset.dat file. A blueprint can reference the host item itself as input or output, or it can chain together entirely unrelated items, forming the backbone of the game's crafting economy.
57 Studios™ has documented and validated the full blueprint configuration surface across the Unturned™ modding community. This article covers both the legacy V1 blueprint format (the Blueprint_#_ prefix system) and the V2 blueprint format (the JSON-style list syntax introduced in version 3.25.5.0), the full property reference for each format, the CategoryTag GUID system that controls crafting-menu tab placement, the this keyword for self-referencing blueprints, the conditions and rewards subsystem, and the blueprint-to-action linkage that powers right-click context menus. The article also includes a complete conversion guide from V1 to V2, worked examples drawn directly from shipped vanilla .dat files, and a diagnostic table for common blueprint errors.

Documentation source: This article references the official Smartly Dressed Games modding documentation for all field definitions and the Unturned™ game data files (version 3.x) for worked examples. Every field value, GUID, and enum constant in this article is traceable to its source.
Who this article is for
This article is written for Unturned™ mod authors who have already authored at least one item of any type and are familiar with the .dat file format and the master bundle pipeline. If you are new to item authoring, start with Item Asset Anatomy and Project Folder Structure and GUIDs before returning here. Readers who are only adding context-menu actions to existing items (without authoring new blueprints) should also read the companion article, Item Actions Reference.
What you will learn
- The conceptual model of blueprints as item-transformation recipes
- The complete V1 blueprint property reference (the
Blueprint_#_prefix system) - The complete V2 blueprint property reference (the JSON-style list syntax)
- How V1 and V2 formats differ and when each should be used
- The eleven shipped CategoryTag GUIDs that control crafting-menu tab placement
- How to reference the host item itself using the
thiskeyword - The InputItems and OutputItems syntax for single items, multiple items, and advanced configuration
- The EBlueprintOperation enumeration:
None,RepairTargetItem, andFillTargetItem - How conditions and rewards integrate into blueprints
- Worked examples drawn directly from shipped vanilla
.datfiles - A diagnostic table covering the most common blueprint authoring errors
Background: how the blueprint system works
A blueprint is a recipe. The player opens the crafting menu, selects a crafting tab (Ammo, Apparel, Barricade, etc.), and sees a list of blueprints the player's current inventory can satisfy. When the player crafts a blueprint, the required input items are consumed from inventory and the output items are produced into inventory. The blueprint itself is not an item -- it is a configuration block defined inside the .dat file of whatever item hosts it.
The host item can be any item type: a weapon, a piece of clothing, a barricade, a medical consumable, a tool, or a supply item whose sole purpose is to carry blueprints. The host item itself may or may not be involved in the blueprint's inputs or outputs. A blueprint defined on a gun can craft ammunition; a blueprint defined on a barricade can salvage the barricade back into raw materials; a blueprint defined on a medical item can produce bandages from rags.
When a blueprint defines inputs that include the host item itself, the blueprint will automatically generate a context-menu action (right-click action) on the host item. Three default actions are recognized by the engine: Salvage (a blueprint with one supply, where that supply is the host item itself), Repair (a blueprint of type Repair or with operation RepairTargetItem), and Refill (a blueprint of type Refill or with operation FillTargetItem). Custom actions beyond these three require an explicit Actions block in the .dat file, which is documented in Item Actions Reference.
The flowchart above traces the full chain from discovering a blueprint in the crafting menu through to the completion of the craft. Every gate in the chain (conditions, input availability, skill level, workstation proximity) can independently block or allow crafting.
The two blueprint formats: V1 and V2
Since Unturned™ version 3.25.5.0, two distinct blueprint configuration formats coexist. The V1 format is the original, using the Blueprint_#_ prefix convention. The V2 format is the newer, using a JSON-style list syntax. The game engine can auto-convert most V1 blueprints to V2 at load time via the ResaveAssets launch option. Both formats remain valid in current Unturned™ versions, but the V2 format is the documented preference for new mod development because it provides features that the V1 format does not support (conditions, rewards, named blueprints, advanced InputItems configurations).
V1 format: the Blueprint_#_ prefix system
The V1 format is a flat key-value system. Every property belonging to a blueprint is prefixed with Blueprint_#_, where # is the zero-based index of the blueprint within the item's blueprint list. The total number of blueprints is declared with a Blueprints count field at the top level.
A minimal V1 blueprint that produces a single item from two inputs:
Blueprints 1
Blueprint_0_Type Gear
Blueprint_0_Supplies 2
Blueprint_0_Supply_0_ID 401
Blueprint_0_Supply_0_Amount 5
Blueprint_0_Supply_1_ID 402
Blueprint_0_Supply_1_Amount 3
Blueprint_0_Product 50001
Blueprint_0_Products 1This blueprint appears in the Gear tab, consumes 5 of item 401 and 3 of item 402, and produces 1 of item 50001. Every V1 blueprint must include a Blueprint_#_Type, a Blueprint_#_Supplies count with corresponding Blueprint_#_Supply_#_ID entries, and at least one output definition (via Blueprint_#_Product/Blueprint_#_Products or Blueprint_#_Outputs/Blueprint_#_Output_#_ID/Blueprint_#_Output_#_Amount).
V2 format: the JSON-style list syntax
The V2 format places blueprint definitions inside a [ ... ] block after the Blueprints key. Each blueprint is a dictionary enclosed in { }. Fields are named without the Blueprint_#_ prefix.
The same minimal blueprint in V2:
Blueprints
[
{
CategoryTag "cdb2df24b76d4c6e9d8411c940d8337f" // Gear
InputItems
[
"GUID-for-item-401 x 5"
"GUID-for-item-402 x 3"
]
OutputItems "GUID-for-item-50001"
}
]The key differences between V1 and V2 are summarized in the comparison table below.
| Aspect | V1 format | V2 format |
|---|---|---|
| Syntax | Flat Blueprint_#_Property keys | JSON-style [ { } ] dictionaries |
| Categorization | Blueprint_#_Type enum value | CategoryTag GUID (asset pointer to Tag asset) |
| Input items | Blueprint_#_Supply_#_ID uint16 IDs only | InputItems using GUIDs only, with quantity syntax (GUID x N) |
| Output items | Blueprint_#_Product uint16 ID (+ Blueprint_#_Output_#_ID for multi-output) | OutputItems using GUIDs only, with quantity syntax |
| Named blueprints | Not supported | Name field for string-based identification |
| Operations | Implicit: Type Repair or Type Refill | Explicit: Operation enum (RepairTargetItem, FillTargetItem) |
| Conditions and Rewards | Supported via Blueprint_#_Condition_#_Type / Blueprint_#_Reward_#_Type | Supported via Conditions and Rewards blocks |
| Self-reference | this string in Blueprint_#_Supply_#_ID | this string in InputItems / OutputItems |
| Skill requirements | Blueprint_#_Skill + Blueprint_#_Level | Skill + Skill_Level |
| Workstation requirements | Not supported natively | RequiresNearbyCraftingTags + RequiresStaticTags |
| Map restriction | Blueprint_#_Map | Map |
| Effect | Blueprint_#_Build (audio) | Effect (asset pointer to Effect asset) |
| Searchable toggle | Blueprint_#_Searchable | Searchable |
| State transfer | Blueprint_#_State_Transfer (flag) + Blueprint_#_State_Transfer_Delete_Attachments | StateTransfer (bool) + StateTransfer_DeleteAttachments (bool) |
The V2 format is preferred for all new mod development. The V1 format is documented here for completeness because existing mods may still use it and understanding it is necessary when reading legacy .dat files or debugging V1-to-V2 conversion issues.
Complete V1 property reference
Top-level count field
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Blueprints | uint8 | Yes (V1) | 0 | Total number of blueprints defined on this item. Must match the number of distinct Blueprint_#_ groups configured. |
Identity and categorization fields
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Blueprint_#_Type | EBlueprintType enum | Yes | -- | The crafting-menu tab this blueprint appears under. Controls both categorization and, for Repair and Refill types, alters the crafting behavior. |
Blueprint_#_Map | string | No | "" | Restricts the blueprint to a specific map by name. The blueprint is hidden on all other maps. |
Blueprint_#_Searchable | bool | No | true | When true, the blueprint is visible in search results even when the player lacks the required items. Set to false to hide debug-only blueprints from normal gameplay. |
Blueprint_#_Build | GUID or uint16 | No | -- | Legacy ID or GUID of an audio effect to play when the craft completes. |
Blueprint_#_Origin | EItemOrigin enum | No | Craft | Sets the item origin for the output. Setting to Admin causes items to spawn at full quality. Requires Blueprint_#_Product. |
Skill fields
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Blueprint_#_Skill | EBlueprintSkill enum | No | None | The skill the player must have levelled to craft this blueprint. Values: None, Craft, Cook, Repair. When set to Cook, the player must also be near a heat source such as a lit campfire. |
Blueprint_#_Level | uint8 | No | 0 | The minimum level of the required skill. Used in conjunction with Blueprint_#_Skill. |
Tool fields
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Blueprint_#_Tool | uint16 | No | 0 | Legacy ID of an item that is required as a tool. The tool is not consumed when the blueprint is crafted. |
Blueprint_#_Tool_Critical | flag | No | not set | If the blueprint requires a tool, the blueprint is only visible while the player has that tool. Requires Blueprint_#_Tool. |
Supply (input) fields
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Blueprint_#_Supplies | uint8 | Yes | 0 | Total number of Blueprint_#_Supply_#_ID properties that have been configured. |
Blueprint_#_Supply_#_ID | uint16 or string this | Yes (if Supplies > 0) | -- | Legacy ID of an item required as a supply. Can be set to the string this to reference the host item's own ID. |
Blueprint_#_Supply_#_Amount | uint8 | No | 0 | Quantity of the supply required. |
Blueprint_#_Supply_#_Critical | flag | No | not set | The blueprint is only visible while the player has this supply. Requires Blueprint_#_Supply_#_ID. |
Blueprint_#_Supply_#_AllowEmpty | bool | No | false | If true, items with an amount of zero (empty magazines) are treated as having an amount of one. Used in vanilla for salvaging empty magazines. |
Blueprint_#_Supply_#_Prioritization | enum | No | Varies | Controls which items are consumed first. Values: LowestAmount (consumes emptiest first; default for Ammo type blueprints) or LowestQuality (consumes lowest quality first; default for all other types). |
Product (output) fields: single-item output
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Blueprint_#_Product | uint16 | See description | Host item ID | Legacy ID of the item created as the product. When left unconfigured, defaults to the host item's own ID. To output multiple different items, use Blueprint_#_Outputs and Blueprint_#_Output_#_ID instead. |
Blueprint_#_Products | uint8 | No | 1 | Quantity of the product created. Requires that Blueprint_#_Product has been set. |
Product (output) fields: multi-item output
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Blueprint_#_Outputs | uint8 | No | 0 | Total number of Blueprint_#_Output_#_ID properties that have been configured. |
Blueprint_#_Output_#_ID | uint16 | Yes (if Outputs > 0) | 0 | Legacy ID of an item created as a product. |
Blueprint_#_Output_#_Amount | uint8 | No | 0 | Quantity of the product created. |
Blueprint_#_Output_#_Origin | EItemOrigin enum | No | Craft | Sets the item origin for this specific output. Requires Blueprint_#_Output_#_ID. |
State transfer fields
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Blueprint_#_State_Transfer | flag | No | not set | Transfer the current state of any supplies to the product. Transferred states include: amount (rounds in an ammunition box), quality percentage, selected firing mode, and fuel units. |
Blueprint_#_State_Transfer_Delete_Attachments | bool | No | false | If true and State_Transfer is enabled, any output guns will have all of their attachments deleted. |
V1 enumeration reference
EBlueprintType
The Blueprint_#_Type field controls which crafting-menu tab the blueprint appears under. For the Repair value, the blueprint additionally triggers the repair crafting behavior (restoring the target item's quality). Note that in V2, Type is deprecated and CategoryTag plus Operation replace it.
| Value | Description |
|---|---|
Ammo | Blueprint appears in the Ammunition tab. |
Apparel | Blueprint appears in the Apparel tab. |
Barricade | Blueprint appears in the Barricades tab. |
Furniture | Blueprint appears in the Furniture tab. |
Gear | Blueprint appears in the Gear tab. |
Repair | Blueprint appears in the Repair tab. Additionally triggers the repair crafting behavior, restoring the target item's quality rather than producing a new item. |
Structure | Blueprint appears in the Structures tab. |
Supply | Blueprint appears in the Supplies tab. |
Tool | Blueprint appears in the Tools tab. |
Utilities | Blueprint appears in the Utilities tab. |
In V1, the Repair type was overloaded: it controlled both the crafting-menu tab placement and the crafting behavior (repairing the target item rather than producing a new product). V2 separates these concerns into CategoryTag (tab placement) and Operation (crafting behavior).
EBlueprintSkill
| Value | Description |
|---|---|
None | No skill is required. |
Craft | The Crafting skill is required. |
Cook | The Cooking skill is required. The player must also be near a heat source. |
Repair | The Engineer skill is required. |
EItemOrigin
| Value | Description |
|---|---|
Craft | Standard crafted origin. Item spawns with standard quality. |
Admin | Admin origin. Item spawns at full quality. |
Complete V2 property reference
Top-level structure
The V2 blueprint block is defined inside a [ ... ] list. Each entry in the list is a dictionary enclosed in { }. The following fields are available inside each V2 blueprint dictionary.
Identity and categorization
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Name | string | No | "" | Optional case-sensitive identifier. Used to reference this blueprint from a context-menu action or a prohibited-blueprints list. If a context action uses BlueprintName to target a blueprint, this Name must match exactly. |
CategoryTag | Asset Pointer (GUID) | Yes | -- | Determines which category the blueprint appears under in the crafting menu. Uses an asset pointer to a Tag asset. Replaces the V1 Type field. See the CategoryTag GUID reference section below. |
Type | EBlueprintType enum | No | Deprecated | Should not be used in V2 blueprints. The combination of CategoryTag and Operation replaces the overloaded V1 Type field. |
Map | string | No | "" | Name of a map that this blueprint is restricted to. The blueprint is only visible while on this map. |
Searchable | bool | No | true | When true, the blueprint is visible in search results even when the player lacks the required items. Set to false to hide debug-only blueprints. |
Operation field
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Operation | EBlueprintOperation enum | No | None | Controls what the blueprint does with the input items beyond basic crafting. |
The EBlueprintOperation enumeration has three values:
| Value | Description |
|---|---|
None | No special modification. Standard crafting behavior: inputs are consumed, outputs are produced. |
RepairTargetItem | Restore the target item to full quality. The first input item is the target; subsequent inputs are the repair materials consumed. Equivalent to the V1 Type Repair behavior. |
FillTargetItem | Transfer amount from the first input item to the target item. Used for refilling ammunition containers or fuel canisters from a source item. Equivalent to the V1 Type Refill behavior. |
Operation field usage
The Operation field is how V2 blueprints express what V1 blueprints accomplished through the overloaded Type field. A V1 blueprint with Type Repair becomes a V2 blueprint with an appropriate CategoryTag (e.g., the Repair CategoryTag GUID) plus Operation RepairTargetItem. The separation means you can place a repair blueprint in any crafting category, not just the Repair tab.
Input items (supplies)
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
InputItems | string, list of strings, or list of dictionaries | Yes | -- | The items required as supplies. Accepts three syntactic forms: a single item, a flat list of items, or a list of dictionaries with per-item configuration options. |
The InputItems field supports three levels of configuration detail:
Level 1: Single item string. A single GUID with an optional quantity suffix:
InputItems "14901f32cd3240179fd6124324cc27e5 x 2" // Cloth x 2Level 2: Flat list of item strings. An array of GUID strings, each with an optional quantity:
InputItems
[
"7aee55ea2abf4f3fb70c4b2677da0e14" // Chemicals
"098b13be34a7411db7736b7f866ada69" // Vehicle Battery
"796932f416274112879175ef57274afd" // Refined Jazzberries
]Level 3: List of dictionaries with per-item options. Each dictionary can specify the item GUID, a critical flag, and a delete flag:
InputItems
[
{
ID "8d840f701cc645789d4dc0765b461a2a" // Dressing Blueprint
Critical true
Delete false
}
{
ID "e0503457d87b4230bfa78350c79d16ec" // Bandage
}
{
ID "7aee55ea2abf4f3fb70c4b2677da0e14" // Chemicals
}
]The per-item dictionary fields are:
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
ID | GUID string | Yes | -- | The GUID of the input item. |
Critical | bool | No | false | If true, the blueprint is only visible while the player possesses this item. |
Delete | bool | No | true | If true, the item is consumed when the blueprint is crafted. Set to false for blueprint items or tools that should remain in inventory after crafting. |
The this keyword
The string this is a special value for InputItems and OutputItems. When used, it refers to the GUID of the item that hosts the blueprint -- the item whose Asset.dat file contains the blueprint definition. It is not a GUID itself; it is a placeholder that the parser resolves at load time to the host item's GUID.
The most common use of this is in salvage blueprints, where the host item is the input and raw materials are the output:
{
Name Salvage
CategoryTag "7ed29f9101ae4523a3b2e389414b7bd9" // Salvage
InputItems this
OutputItems "14901f32cd3240179fd6124324cc27e5 x 2" // Cloth
Effect "7eceb9f7751d4634b572c8e236355104" // Rip
}This blueprint consumes the host item and produces two units of Cloth. The this keyword is also valid in OutputItems when the host item is the output product (a common pattern for craft-from-raw-materials blueprints):
{
CategoryTag "cdb2df24b76d4c6e9d8411c940d8337f" // Gear
InputItems "656f319d2d194813b390edc6edd8a697 x 10" // Metal Bar
OutputItems this
Effect "84347b13028340b8976033c08675d458" // Wrench
}This blueprint consumes ten Metal Bars and produces the host item (the barricade stack). The this keyword avoids the common V1 mistake of accidentally writing the wrong ID when the host item and the blueprint's input or output reference the same item.
Pro tip
Use this in every blueprint where the host item is involved. It eliminates the single most common V1 blueprint error: a mismatched legacy ID caused by copying a blueprint from one item to another and forgetting to update the self-reference. The this keyword is always correct, because it resolves dynamically to the host item's own GUID.
Output items (products)
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
OutputItems | string or list of strings | Yes | -- | The items created by this blueprint. Uses the same GUID-with-quantity syntax as InputItems. Accepts a single string or a list of strings. |
The OutputItems syntax mirrors InputItems but supports only strings (not dictionaries). Each entry is a GUID string with an optional x N quantity suffix:
OutputItems "14901f32cd3240179fd6124324cc27e5 x 3" // Cloth x 3Multiple outputs use a list:
OutputItems
[
"GUID-for-item-A x 2"
"GUID-for-item-B"
"GUID-for-item-C x 5"
]When no quantity is specified, the default quantity is 1. The this keyword is also valid in OutputItems.
Effect field
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Effect | Asset Pointer (GUID) | No | -- | An asset pointer to an Effect asset to play upon successfully crafting the blueprint. |
Skill fields (V2)
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Skill | EBlueprintSkill enum | No | None | The skill the player must have levelled. Values: None, Craft, Cook, Repair. |
Skill_Level | int32 | No | 0 | The minimum level of the required skill. The player's skill level must be greater than or equal to this value. |
Workstation tag fields
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
RequiresNearbyCraftingTags | list of GUID strings | No | -- | Tag assets that must be available from nearby crafting tag providers (workstations). The player must be within range of a workstation or object that provides these tags. |
RequiresStaticTags | list of GUID strings | No | -- | Similar to RequiresNearbyCraftingTags, but only checked once during level startup. Can test for Level Asset tags, allowing levels to signal support for specific blueprint sets without using the Map property. |
The vanilla game ships the following crafting tags:
| Tag GUID | Name | Purpose |
|---|---|---|
99896da563a748148460c67b9962874f | Chemical Mixing / Pharmaceutical | Required for advanced medical crafting (Dressing, Adrenaline) |
7b82c125a5a54984b8bb26576b59e977 | Workbench | Required for metalworking, weapon repair, and tool crafting |
2ac5ddc545a848008c0308d21f5d2e6b | Spinning Wheel / Sewing | Required for clothing repair (Rain Hat, Rain Pants, Rain Jacket) |
The following static tags are available for RequiresStaticTags:
| Tag GUID | Name | Purpose |
|---|---|---|
73eb818d1aa044c7bb4e61b8f9b37a3c | Building In Safezones Allowed | Level permits building inside safezones |
f663677b88de40ec80ff36b0c1cae544 | Not-singleplayer | Level is not singleplayer |
d7bd989414644b19b3299be0c6fab5f0 | Singleplayer | Level is singleplayer |
State transfer fields (V2)
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
StateTransfer | bool | No | false | Transfer the current state of the first input item to the product. Transferred states include: amount (round count), quality percentage, selected firing mode, and fuel units. |
StateTransfer_DeleteAttachments | bool | No | false | If true and StateTransfer is enabled, any output guns will have all of their attachments deleted. |
Conditions and Rewards (V2)
V2 blueprints support NPC quest conditions and rewards through the Conditions and Rewards blocks. Both are full quest-condition and quest-reward configurations identical in structure to the conditions and rewards system used by NPC dialogue and quest assets, except that all properties are prefixed with the appropriate path in the blueprint's scope.
For conditions, the syntax inside a V2 blueprint object is:
Conditions
[
{
Condition_0_Type Holiday
Condition_0_Holiday Halloween
}
]For rewards, the syntax inside a V2 blueprint object is:
Rewards
[
{
Reward_0_Type Experience
Reward_0_Experience 50
}
]When conditions are present and unmet, the blueprint is hidden from the crafting menu by default. The VisibleWithUnmetConditions field (bool, default false) can be set to true to display the blueprint with an "conditions unmet" message instead -- useful when the conditions have meaningful display text that informs the player what they need to do.
Full V2 property reference table
| Field | Type | Required | Default | Purpose |
|---|---|---|---|---|
Name | string | No | "" | Case-sensitive identifier for action and blacklist references |
CategoryTag | Asset Pointer (GUID) | Yes | -- | Crafting menu category tag GUID |
Type | EBlueprintType enum | No | Deprecated | Replaced by CategoryTag + Operation |
Operation | EBlueprintOperation enum | No | None | Crafting behavior: None, RepairTargetItem, or FillTargetItem |
InputItems | string / list of strings / list of dicts | Yes | -- | Required supply items |
OutputItems | string / list of strings | Yes | -- | Produced items |
Map | string | No | "" | Map name restriction |
Searchable | bool | No | true | Visibility in search when items are lacking |
VisibleWithUnmetConditions | bool | No | false | Show blueprint when conditions are unmet |
Effect | Asset Pointer (GUID) | No | -- | Effect to play on craft |
Skill | EBlueprintSkill enum | No | None | Required skill: None, Craft, Cook, Repair |
Skill_Level | int32 | No | 0 | Minimum skill level |
RequiresNearbyCraftingTags | list of GUID strings | No | -- | Nearby workstation tags required |
RequiresStaticTags | list of GUID strings | No | -- | Startup-checked static tags |
StateTransfer | bool | No | false | Transfer state from first input to product |
StateTransfer_DeleteAttachments | bool | No | false | Delete attachments on state-transferred guns |
Conditions | Conditions block | No | -- | NPC quest conditions |
Rewards | Rewards block | No | -- | NPC quest rewards |
Blueprint CategoryTag GUID reference
The V2 CategoryTag field uses an asset pointer to a Tag asset. The vanilla game ships eleven blueprint category tags, each with a GUID that modders should use when configuring V2 blueprint categories. These GUIDs are the only correct values for CategoryTag in V2 blueprints targeting vanilla crafting tabs.
| Category | GUID | Icon path |
|---|---|---|
| Ammo | d739926736374e5ba34b4ac6ffbb5c8f | UI/BlueprintCategoryTagIcons/Ammo.png |
| Apparel | ebe755533bdd42d1871c3ac66b89530f | UI/BlueprintCategoryTagIcons/Apparel.png |
| Barricade | 31a59b5fec3f4ec5b2887b1ce4acb029 | UI/BlueprintCategoryTagIcons/Barricade.png |
| Furniture | b0c6cc0a8b4346be89aef697ecdb8e46 | UI/BlueprintCategoryTagIcons/Furniture.png |
| Gear | cdb2df24b76d4c6e9d8411c940d8337f | UI/BlueprintCategoryTagIcons/Gear.png |
| Repair | 732ee6ffeb18418985cf4f9fde33dd11 | UI/BlueprintCategoryTagIcons/Repair.png |
| Salvage | 7ed29f9101ae4523a3b2e389414b7bd9 | UI/BlueprintCategoryTagIcons/Salvage.png |
| Structure | 71d9e182c18b4aad8e87778e4f621995 | UI/BlueprintCategoryTagIcons/Structure.png |
| Supply | d089feb7e43f40c5a7dfcefc36998cfb | UI/BlueprintCategoryTagIcons/Supply.png |
| Tool | ad1804b6945145f3b308738b0b8ea447 | UI/BlueprintCategoryTagIcons/Tool.png |
| Utilities | bfac6026305f4737a95fd275ebff65a6 | UI/BlueprintCategoryTagIcons/Utilities.png |
The Salvage category
The Salvage category (7ed29f9101ae4523a3b2e389414b7bd9) does not correspond to a V1 Type enum value. It was introduced with V2 to provide a dedicated crafting tab for deconstruction and recycling blueprints. V1 salvage blueprints typically used the Repair or Gear type, which overloaded the tab placement. When migrating V1 salvage blueprints to V2, always use the Salvage CategoryTag GUID rather than the V1 type you were using before.
Worked examples from shipped vanilla data
Example 1: Simple salvage blueprint (Rain Hat)
The Rain Hat item (Hats/Rain_Hat/Asset.dat) ships with two V2 blueprints: a Salvage blueprint that destroys the hat for cloth, and a Repair blueprint that uses cloth to restore the hat. This is the simplest V2 blueprint pattern:
Blueprints
[
{
Name Salvage
CategoryTag "7ed29f9101ae4523a3b2e389414b7bd9" // Salvage
InputItems this
OutputItems "14901f32cd3240179fd6124324cc27e5 x 2" // Cloth
Effect "7eceb9f7751d4634b572c8e236355104" // Rip
}
{
Name Repair
CategoryTag "732ee6ffeb18418985cf4f9fde33dd11" // Repair
Operation RepairTargetItem
InputItems "14901f32cd3240179fd6124324cc27e5 x 2" // Cloth
RequiresNearbyCraftingTags
[
"2ac5ddc545a848008c0308d21f5d2e6b" // Spinning Wheel
]
Effect "7eceb9f7751d4634b572c8e236355104" // Rip
}
]Key observations: both blueprints have Name fields (used by the action generation system), the salvage blueprint uses InputItems this to consume the host item, the repair blueprint uses Operation RepairTargetItem to signal repair behavior, and both reference an Effect asset for the crafting sound.
Example 2: Multi-input crafting with workstation requirement (Adrenaline)
The Adrenaline item (Medical/Adrenaline/Adrenaline.dat) has a single V2 blueprint that requires five input items, a crafting skill, and a workstation tag:
Blueprints
[
{
CategoryTag "d089feb7e43f40c5a7dfcefc36998cfb" // Supplies
InputItems
[
"7aee55ea2abf4f3fb70c4b2677da0e14" // Chemicals
"098b13be34a7411db7736b7f866ada69" // Vehicle Battery
"796932f416274112879175ef57274afd" // Refined Jazzberries
"39f46646aa6f4baf91a8e6004acb9291" // Sugar
"c0b0f4a9f46c49a59f4558210bf36da5" // Metal Can
]
OutputItems this
Skill Craft
Skill_Level 2
RequiresNearbyCraftingTags
[
"99896da563a748148460c67b9962874f" // Pharmaceutical
]
Effect "7eceb9f7751d4634b572c8e236355104" // Rip
}
]Key observations: the five inputs are listed as a flat GUID array with no quantities (each defaults to 1), OutputItems this means the host item (Adrenaline) is the product, the blueprint requires Crafting skill level 2, and the player must be near a Pharmaceutical workstation tag.
Example 3: Advanced InputItems with Critical and Delete flags (Dressing)
The Dressing item (Medical/Dressing/Dressing.dat) has a second blueprint that uses dictionary-style InputItems with per-item configuration:
{
CategoryTag "d089feb7e43f40c5a7dfcefc36998cfb" // Supplies
InputItems
[
{
ID "8d840f701cc645789d4dc0765b461a2a" // Dressing Blueprint
Critical true
Delete false
}
{
ID "e0503457d87b4230bfa78350c79d16ec" // Bandage
}
{
ID "7aee55ea2abf4f3fb70c4b2677da0e14" // Chemicals
}
]
OutputItems this
Effect "7eceb9f7751d4634b572c8e236355104" // Rip
}Key observations: The Dressing Blueprint supply item is marked Critical true (the blueprint is only visible when the player has this item) and Delete false (the blueprint item is not consumed by crafting -- it remains in inventory for reuse). The Bandage and Chemicals are consumed normally (their default Delete true applies).
Example 4: Barricade craft and salvage with V1 Actions block (Stack of Metal Bars)
The Stack of Metal Bars barricade (Barricades/Stack_Bar/Stack_Bar.dat) demonstrates the classic craft-and-salvage pair with a V1 format Actions block:
Blueprints
[
{
CategoryTag "cdb2df24b76d4c6e9d8411c940d8337f" // Gear
InputItems "656f319d2d194813b390edc6edd8a697 x 10" // Metal Bar
OutputItems this
Effect "84347b13028340b8976033c08675d458" // Wrench
}
{
CategoryTag "7ed29f9101ae4523a3b2e389414b7bd9" // Salvage
InputItems this
OutputItems "656f319d2d194813b390edc6edd8a697 x 10" // Metal Bar
Effect "84347b13028340b8976033c08675d458" // Wrench
}
]
Actions 1
Action_0_Type Blueprint
Action_0_Source 1911
Action_0_Blueprints 1
Action_0_Blueprint_0_Index 1
Action_0_Key UnstackKey observations: The first blueprint crafts the barricade from 10 Metal Bars (OutputItems this = the barricade). The second blueprint salvages it back into 10 Metal Bars (InputItems this = consume barricade). The V1 Actions block uses Blueprint_0_Index 1 (zero-indexed, so this targets the second blueprint, the Salvage) and references the Unstack localization key.
Example 5: V1 to V2 conversion walkthrough
Consider a V1 blueprint that creates a custom rifle from raw materials:
Blueprints 1
Blueprint_0_Type Gear
Blueprint_0_Supplies 3
Blueprint_0_Supply_0_ID 401
Blueprint_0_Supply_0_Amount 4
Blueprint_0_Supply_1_ID 402
Blueprint_0_Supply_1_Amount 2
Blueprint_0_Supply_2_ID 403
Blueprint_0_Supply_2_Amount 1
Blueprint_0_Product 50001
Blueprint_0_Products 1
Blueprint_0_Skill Craft
Blueprint_0_Level 1
Blueprint_0_Tool 393
Blueprint_0_Tool_CriticalThis blueprint is in the Gear tab, consumes 4 of item 401, 2 of item 402, and 1 of item 403, requires a tool (item 393, which must be present for the blueprint to be visible), and requires Crafting skill level 1. The same blueprint converted to V2:
Blueprints
[
{
CategoryTag "cdb2df24b76d4c6e9d8411c940d8337f" // Gear
InputItems
[
"GUID-for-401 x 4"
"GUID-for-402 x 2"
{
ID "GUID-for-403"
Critical true
}
]
OutputItems "GUID-for-50001"
Skill Craft
Skill_Level 1
}
]Key conversion steps: (1) Replace Blueprint_0_Type Gear with CategoryTag using the appropriate Gear CategoryTag GUID. (2) Convert legacy IDs to GUIDs. (3) Move supplies from Blueprint_0_Supply_#_ID/Blueprint_0_Supply_#_Amount to InputItems GUID strings with quantity suffixes. (4) Convert Blueprint_0_Tool 393 with Blueprint_0_Tool_Critical into an InputItems dictionary entry with Critical true and Delete false. (5) Replace Blueprint_0_Product 50001 / Blueprint_0_Products 1 with OutputItems "GUID-for-50001". (6) Map V1 Blueprint_0_Skill to V2 Skill, Blueprint_0_Level to Skill_Level.
Tool items in V2
V1 blueprints distinguish between supply items (consumed) and tool items (not consumed) through separate fields (Blueprint_#_Supply_#_ID vs. Blueprint_#_Tool). In V2, both are expressed through InputItems. A tool that should not be consumed must use the dictionary form with Delete false. A tool that should gate blueprint visibility must additionally use Critical true. Failing to set Delete false on a tool item in V2 will cause the tool to be consumed on every craft, which is a destructive and hard-to-notice bug.
Blueprint default action generation
When a blueprint is configured in certain ways, the engine automatically generates a corresponding context-menu action on the host item. No Actions block is required for these three default patterns:
| Blueprint pattern | Generated action key | Condition |
|---|---|---|
| Salvage | Salvage | Blueprint has exactly one supply, and that supply's ID is the host item itself (this) |
| Repair | Repair | Blueprint's V1 type is Repair, or V2 operation is RepairTargetItem |
| Refill | Refill | Blueprint's V1 type is a refill type, or V2 operation is FillTargetItem |
For blueprints that do not match any of these patterns (e.g., a crafting blueprint that produces an unrelated item), no default action is generated. An Actions block must be added to the host item to expose the blueprint on the right-click context menu. See Item Actions Reference for the complete action configuration syntax.
Diagnosing blueprint errors
| Symptom | Most likely cause | Resolution |
|---|---|---|
| Blueprint does not appear in any crafting tab | CategoryTag GUID is missing or incorrect | Verify the CategoryTag GUID against the reference table in this article |
| Blueprint appears but is always greyed out | Input items use legacy IDs instead of GUIDs (V2) | Convert all IDs in InputItems to GUIDs |
| Salvage action does not appear on right-click | Salvage blueprint uses more than one input supply | A salvage blueprint must have exactly one supply, and it must be this |
| Crafting consumes the blueprint item (a scroll/book) | Delete false missing from dictionary InputItems entry for the blueprint supply | Add Delete false to the dictionary entry for the blueprint supply item |
| Blueprint not visible when near workstation | RequiresNearbyCraftingTags GUID does not match any workstation in range | Verify the workstation object provides a matching tag GUID |
| Blueprint visible on wrong maps | V2 Map field populated but should be empty | Remove or correct the Map field |
| V1 blueprint fails after game update | V1-to-V2 auto-conversion produced incorrect InputItems | Manually convert the blueprint to V2 format |
V2 blueprint uses Type field expecting tab placement | Type is deprecated in V2 and ignored | Replace Type with CategoryTag |
| Blueprint consumes the tool item | Tool added as plain GUID string, not dictionary with Delete false | Wrap tool item in dictionary form: { ID "tool-guid" Critical true Delete false } |
| Duplicate blueprints after resave | Auto-conversion keeps V1 blueprints and adds V2 copies | Remove V1 blueprint properties after successful auto-conversion |
this keyword produces wrong item | Blueprint was copied to a different host item but this now resolves to the new host | This is the intended behavior; if the wrong item is referenced, use the explicit GUID instead of this |
Blueprint authoring workflow
- Determine the host item. Every blueprint must be defined on an item. Choose the item that makes the most sense as the blueprint's home -- the output item (for crafting-from-materials blueprints), the input item (for salvage blueprints), or a dedicated blueprint scroll item (for complex chains).
- Choose the format. Use V2 for all new mod development. Use V1 only for compatibility with pre-3.25.5.0 servers or if porting an existing V1 mod.
- Select the CategoryTag. Choose the appropriate CategoryTag GUID from the reference table above. The tag determines which crafting tab the blueprint appears under.
- Define InputItems. List every required input item as a GUID string with quantity. Use the
thiskeyword if the host item is an input. Use dictionary form for blueprint scrolls (Delete false) or critical items (Critical true). - Define OutputItems. List every output item as a GUID string with quantity. Use
thisif the host item is the product. - Set operation if applicable. For repair blueprints, add
Operation RepairTargetItem. For refill blueprints, addOperation FillTargetItem. - Configure requirements. Add
SkillandSkill_Levelif a skill should gate crafting. AddRequiresNearbyCraftingTagswith workstation tag GUIDs if the blueprint should require a workstation. - Add an Effect. Provide an Effect asset GUID for the crafting sound or visual effect. The vanilla game uses
"7eceb9f7751d4634b572c8e236355104"(Rip) for cloth and medical crafting, and"84347b13028340b8976033c08675d458"(Wrench) for metal and tool crafting. - Configure the name. Set a
Namefield if the blueprint will be referenced by an Actions block or a prohibited-blueprints list. - Generate default action if applicable. If the blueprint matches one of the three default action patterns, the engine generates the action automatically. If not, add an explicit Actions block.
- Test in-game. Spawn the host item and all inputs. Open the crafting menu. Confirm the blueprint appears in the correct tab. Craft it. Confirm inputs are consumed, outputs are produced, and any workstation or skill requirements are enforced.
Best practices
- Use V2 format for all new mod development. The V1 format is maintained for backward compatibility but limits functionality.
- Use GUIDs, not legacy IDs, in all V2 blueprints. The vanilla game auto-conversion can handle legacy IDs, but mods should ship with GUIDs from the start.
- Use the
thiskeyword in every blueprint where the host item is an input or an output. It eliminates the most common copy-paste error in blueprint authoring. - Name every blueprint that you intend to reference from an Actions block or a prohibited-blueprints list. The
BlueprintNamefield in an action configuration requires an exact match on the blueprint'sName. - Set
Delete falseon blueprint scroll items (supply items that are recipe books) and on tool items. Consuming the blueprint or tool on every craft is a difficult bug to notice during authoring because it requires multiple crafts to reproduce. - Use the Salvage CategoryTag (
7ed29f9101ae4523a3b2e389414b7bd9) for all deconstruction blueprints, even if the V1 type was historically Gear or Repair. The Salvage tab is the dedicated location that players check for recycling recipes. - Test workstation requirements by moving out of range of the workstation before attempting to craft. Blueprints with missing workstation tags should be displayed with a workstation-missing indicator.
- Test skill requirements by crafting on a character with insufficient skill levels. The blueprint should be displayed with a skill-requirement indicator.
- Document any blueprint that consumes an unusual tool or has a non-obvious workstation requirement in the workshop description. Players cannot discover these requirements without inspecting the
.datdirectly.
Frequently asked questions
What is the difference between CategoryTag and Type?
CategoryTag is the V2 field that determines which crafting tab a blueprint appears under. It takes a GUID asset pointer to a Tag asset. Type is the V1 field that served the same purpose but also overloaded crafting behavior (Repair type meaning "repair the target item"). V2 separates these: CategoryTag controls the tab, Operation controls the behavior. The Type field is deprecated in V2 and should not be used in new blueprints.
Can a V2 blueprint output multiple different items?
Yes. Use a list of GUID strings in OutputItems. Each entry can specify its own quantity. Example: OutputItems ["GUID-A x 2", "GUID-B", "GUID-C x 5"] produces two of item A, one of item B, and five of item C.
What happens if InputItems lists a GUID that does not exist?
The blueprint will never be craftable. The engine checks that every input item exists and that the player possesses sufficient quantities. A GUID that resolves to no item will permanently fail the existence check. Always verify that every GUID in InputItems and OutputItems maps to a real item loaded by the game.
Can a blueprint have no inputs?
No. Every blueprint must have at least one input item. A blueprint with zero inputs would produce items from nothing, which the engine does not support. If you need a free-item-spawning mechanism for admin or creative purposes, use a command-line script or a server plugin rather than a zero-input blueprint.
How do I make a blueprint that works on multiple maps?
Omit the Map field entirely. A blueprint with no Map restriction is available on every map. The Map field is a restriction, not a requirement -- it limits the blueprint to the specified map rather than granting it to that map.
Can I use both V1 and V2 blueprints on the same item?
Yes, but it is not recommended. If an item has both Blueprint_#_Type (V1) properties and a Blueprints [ { ... } ] (V2) list, the engine processes both sets. This can produce duplicate or conflicting blueprints. The cohort recommendation is to pick one format per item and consolidate all blueprints into that format.
What is the difference between RequiresNearbyCraftingTags and RequiresStaticTags?
RequiresNearbyCraftingTags checks dynamically: every time the player opens the crafting menu or attempts to craft, the engine checks whether the player is near a workstation that provides the required tags. RequiresStaticTags checks once at level startup and caches the result. Use RequiresStaticTags for conditions that depend on the level itself (is the map singleplayer? does the map allow safezone building?) rather than on proximity to a movable workstation.
How do I make a blueprint which requires both a crafting skill and a workstation?
Set both Skill/Skill_Level and RequiresNearbyCraftingTags. The player must meet both requirements independently. The crafting UI will display both requirement indicators when they are unmet.
Can a blueprint have conditions and rewards?
Yes, in V2 only. V1 blueprints support conditions and rewards through the Blueprint_#_Condition_#_Type and Blueprint_#_Reward_#_Type prefix conventions, following the same syntax as quest conditions and rewards. V2 blueprints support them through Conditions and Rewards blocks.
What does the Critical flag do on an InputItems entry?
When Critical is true, the blueprint is only visible in the crafting menu when the player has that item. Without it, blueprints the player cannot currently craft (due to missing items) are still visible but greyed out. The Critical flag is primarily used for blueprint scroll items: the player should not see the blueprint at all until they find the scroll.
Can I use this in a V1 blueprint?
Yes. In V1, the Blueprint_#_Supply_#_ID field accepts the string value this to reference the host item's legacy ID. This is useful for salvage blueprints and avoids accidentally writing the wrong ID.
Do I need to define an Actions block for my blueprints?
If your blueprint matches one of the three default action patterns (Salvage, Repair, Refill), the engine generates the corresponding context action automatically and no Actions block is needed. If your blueprint does not match any of these patterns, you must add an explicit Actions block to expose the blueprint on the right-click context menu. See Item Actions Reference.
How do I migrate a large V1 mod to V2?
The game engine includes an auto-conversion feature triggered by the ResaveAssets launch option. It converts most V1 blueprints to V2 format and writes the converted .dat files. After auto-conversion, remove the original V1 blueprint properties from each .dat file and verify that the V2 blueprints function correctly in-game. Test every blueprint individually; the auto-conversion is reliable for standard blueprints but may produce unexpected results for blueprints with unusual combinations of fields.
What is the maximum number of blueprints an item can have?
There is no hard limit enforced by the engine. In V1, the Blueprints field is a uint8 (maximum 255). In V2, the list syntax has no explicit limit. The practical limit is determined by crafting-menu performance and player usability -- an item with more than 10 blueprints becomes difficult for players to navigate.
Advanced blueprint patterns
Chained blueprint families
The most common advanced pattern is a chain of blueprints where the output of one blueprint is the input of another. A tree-harvesting mod might define:
- Birch Log (host item, blueprint 0): InputItems
this, OutputItems Birch Planks (with workstation: Sawmill) - Birch Log (host item, blueprint 1): InputItems
this, OutputItems Birch Sticks (with workstation: Sawmill) - Birch Planks (host item, blueprint 0): InputItems
"Birch-Planks-GUID x 2", OutputItems Birch Plank Barricade Stack - Birch Plank Barricade Stack (host item, blueprint 1): InputItems
this, OutputItems"Birch-Planks-GUID x 2"
This chain traces birch logs through planks to barricade stacks and back, giving players a full crafting economy around one resource type.
Event-locked blueprints
V2 blueprints with conditions can be locked behind seasonal events. A Halloween-exclusive blueprint uses a holiday condition:
Conditions
[
{
Condition_0_Type Holiday
Condition_0_Holiday Halloween
}
]The blueprint is hidden for 11 months of the year and appears during the Halloween event. The VisibleWithUnmetConditions field can be set to true to display the blueprint with a message explaining that the Halloween event must be active, giving players a reason to return during the event period.
Multiple workstation dependencies
A blueprint can require multiple workstations simultaneously. A high-tier crafting blueprint might require both a Workbench and a Chemical Mixing station:
RequiresNearbyCraftingTags
[
"7b82c125a5a54984b8bb26576b59e977" // Workbench
"99896da563a748148460c67b9962874f" // Chemical Mixing
]The player must be within range of objects that provide both tags. If servers configure workstations as separate objects placed in different locations, players must strategically position themselves to satisfy both requirements simultaneously.
Appendix A: Blueprint .dat field quick reference (V2)
| Field | Type | Required | Default |
|---|---|---|---|
Name | string | No | "" |
CategoryTag | GUID | Yes | -- |
Type | enum | No | Deprecated |
Operation | enum | No | None |
InputItems | string / list | Yes | -- |
OutputItems | string / list | Yes | -- |
Map | string | No | "" |
Searchable | bool | No | true |
VisibleWithUnmetConditions | bool | No | false |
Effect | GUID | No | -- |
Skill | enum | No | None |
Skill_Level | int32 | No | 0 |
RequiresNearbyCraftingTags | list of GUIDs | No | -- |
RequiresStaticTags | list of GUIDs | No | -- |
StateTransfer | bool | No | false |
StateTransfer_DeleteAttachments | bool | No | false |
Conditions | Conditions block | No | -- |
Rewards | Rewards block | No | -- |
Appendix B: V1 blueprint .dat field quick reference
| Field | Type | Required | Default |
|---|---|---|---|
Blueprints | uint8 | Yes | 0 |
Blueprint_#_Type | EBlueprintType enum | Yes | -- |
Blueprint_#_Supplies | uint8 | Yes | 0 |
Blueprint_#_Supply_#_ID | uint16 or string this | Yes | -- |
Blueprint_#_Supply_#_Amount | uint8 | No | 0 |
Blueprint_#_Supply_#_Critical | flag | No | not set |
Blueprint_#_Supply_#_AllowEmpty | bool | No | false |
Blueprint_#_Supply_#_Prioritization | enum | No | Varies |
Blueprint_#_Product | uint16 | Situation-dependent | Host item ID |
Blueprint_#_Products | uint8 | No | 1 |
Blueprint_#_Outputs | uint8 | No | 0 |
Blueprint_#_Output_#_ID | uint16 | Yes (if Outputs > 0) | 0 |
Blueprint_#_Output_#_Amount | uint8 | No | 0 |
Blueprint_#_Output_#_Origin | EItemOrigin enum | No | Craft |
Blueprint_#_Origin | EItemOrigin enum | No | Craft |
Blueprint_#_Skill | EBlueprintSkill enum | No | None |
Blueprint_#_Level | uint8 | No | 0 |
Blueprint_#_Tool | uint16 | No | 0 |
Blueprint_#_Tool_Critical | flag | No | not set |
Blueprint_#_Build | GUID or uint16 | No | -- |
Blueprint_#_Map | string | No | "" |
Blueprint_#_Searchable | bool | No | true |
Blueprint_#_State_Transfer | flag | No | not set |
Blueprint_#_State_Transfer_Delete_Attachments | bool | No | false |
Appendix C: External references
- Smartly Dressed Games modding documentation -- official blueprint field reference.
- Unturned on Steam -- game page and changelog; blueprint system changes are noted in update logs.
- Item Actions Reference -- the companion article; covers context-menu actions that reference blueprints.
- Item Asset Anatomy -- the shared field reference for all item types; blueprints are defined inside item
.datfiles. - Project Folder Structure and GUIDs -- GUID generation and folder layout.
- Gun Mod Tutorial -- example of blueprint usage in a gun mod context.
- Server Configuration: Custom NPCs, Dialogues, and Quests -- conditions and rewards reference used by blueprint conditions.
Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2026-07-26 | 57 Studios | Initial publication. Complete V1 and V2 blueprint field reference, CategoryTag GUID catalog, this keyword documentation, InputItems/OutputItems syntax, worked examples from shipped vanilla data, V1-to-V2 conversion guide, diagnostic table, FAQ, appendices. |
Cross-references
- Item Actions Reference -- the next article in this section; covers context actions that link to blueprints.
- Mod Hooks Reference -- the previous article in this section.
- Item Asset Anatomy -- the shared
.datfield reference; blueprints are defined inside item.datfiles. - Project Folder Structure and GUIDs -- GUID generation and naming conventions.
- Gun Mod Tutorial -- practical blueprint usage in gun mod authoring.
- Server Configuration: Custom NPCs, Dialogues, and Quests -- conditions and rewards reference.
- Master Bundle Export -- Unity bundling workflow for items that host blueprints.
- Smartly Dressed Games modding documentation -- official field reference.
- Unturned on Steam -- game page.
