Skip to content

Farm Asset Reference

A farm asset in Unturned™ defines a placeable seed or plant that, when placed on suitable terrain, grows over time into a harvestable crop. Farm assets - also referred to as plants or crops - are defined by the ItemFarmAsset class, which inherits from BarricadeAsset. When a seed is planted, it progresses through its growth cycle over a configured duration, can be accelerated by rainfall or fertilizer, and ultimately yields one or more harvestable items before the plant is consumed. The farm asset system is Unturned™'s survival-crafting agriculture mechanic: players plant seeds, tend the growing crop, and harvest the mature plant for food, crafting materials, or trade goods.

This article is the 57 Studios™ canonical reference for the farm asset type. It covers every .dat field specific to the ItemFarmAsset subclass, the growth mechanics that govern plant progression, the harvest system that controls yield, the interaction between soil type restrictions and placement rules, the rainfall and fertilizer acceleration systems, the Harvest_Rewards system for NPC-style reward lists, and the multi-harvest calculation that uses the inherited Health field to determine how many times a plant can be harvested before it is exhausted.

A fully grown crop plant ready for harvest in Unturned single-player

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™ mod authors who have already completed at least one barricade mod and are familiar with the master bundle pipeline and .dat authoring workflow. If you are new to Unturned™ modding, start with Project Folder Structure and GUIDs and How to Install Notepad++ before returning here. An understanding of the barricade system (placement, health, ownership) is assumed; the Objects, Structures, and Barricades Asset Guide covers that prerequisite ground.

What you'll learn

  • The full .dat field set for farm assets, including inherited barricade fields
  • How the growth system works: the Growth timer, rainfall acceleration, and fertilizer mechanics
  • How the harvest system determines yield: Grow, Grow_SpawnTableGUID, Harvest_Reward_Experience, and Harvest_Rewards
  • The multi-harvest mechanic: how the inherited Health field enables multiple harvests from a single plant
  • How Affected_By_Agriculture_Skill modifies harvest yield based on the player's skill level
  • How Ignore_Soil_Restrictions and the soil material system control where plants can be placed
  • The Allow_Fertilizer and Rain_Affects_Growth toggles
  • Worked examples covering single-harvest, multi-harvest, and spawn-table-crop configurations
  • The interaction between farm assets and the existing melee and resource systems

Background: how the farm system works

The Unturned™ farm system models a complete crop lifecycle. A seed item is placed by the player onto terrain or soil-like surfaces. The seed germinates and grows over a period defined by the Growth field, measured in seconds. During this growth period, the plant progresses through visual stages (seedling, maturing, mature). The growth can be accelerated by two independent mechanisms: rainfall (if Rain_Affects_Growth is true) and fertilizer (if Allow_Fertilizer is true). Rainfall instantly completes the growth of any rain-exposed plant when the weather system transitions to rain. Fertilizer instantly completes growth when applied by the player.

Once the plant is fully grown, the player can harvest it. Harvesting deals 2 damage to the plant (this is hardcoded in the engine, not configurable through .dat fields). The number of times a plant can be harvested before destruction is determined by Health / 2. A plant with Health 10 can be harvested 5 times; a plant with Health 4 can be harvested 2 times; a plant with Health 1 can be harvested once and is consumed on that single harvest.

As shown in the state diagram above, the farm asset cycles through a grow-harvest loop until the plant's health is exhausted.

The rainfall acceleration mechanism

When Rain_Affects_Growth is true, the engine checks the weather state periodically. If the weather transitions to rain on the current map (an environmental event that occurs on maps with weather enabled), any plant that is exposed to the sky and is still in its growing state instantly becomes mature. The rainfall check is not continuous - it fires at weather-state transitions. A plant placed on a non-rain map or in an enclosed structure with a roof will not be accelerated by rainfall, even if the field is true.

The fertilizer instant-grow mechanism

When Allow_Fertilizer is true, the player can use a consumable fertilizer item on the growing plant to instantly mature it. The fertilizer item is a separate asset type in Unturned™'s item system. The cohort recommendation is to make fertilizer available as a mid-game crafting item so that players can accelerate their crop cycles without relying on weather.

File and folder structure

A complete farm mod requires the following files:

Workshop/Content/304930/<modID>/
├── Bundles/
│   └── <BundleName>.unity3d          ← master bundle containing the prefab
└── Items/
    └── MyCrop/
        ├── Asset.dat                 ← farm configuration
        └── English.dat               ← display name and description

The folder name, the .dat filename stem, and the internal Name field should all match for consistency, though the engine does not enforce this equality.

Complete .dat field reference

Identity and barricade inheritance fields

Farm assets inherit all barricade identity fields from BarricadeAsset. The fields below are the minimum identity block for any farm item.

FieldTypeExampleRequiredPurpose
IDuint164020YesNumeric item ID. Must be unique across all loaded mods. Use IDs in the 50000+ range to avoid collision with vanilla and established community mods.
GUIDuint128 hexa1b2c3d4e5f64a7b8c9d0e1f2a3b4c5dYes128-bit globally unique identifier. Generate a new GUID for every new item. Never reuse GUIDs.
TypeenumFarmYesMust be Farm for farm items.
UseableenumBarricadeYesMust be Barricade - farm items are a barricade subtype.
BuildenumFarmYesMust be Farm - this is the build type that drives the placement logic.
NamestringMyCropYesInternal name. Used in console commands and cross-reference in other .dat files.
RarityenumCommonNoControls the inventory highlight color. Values: Common, Uncommon, Rare, Epic, Legendary, Mythical. Defaults to Common.
SlotenumNoneNoFarm items are placed in the world, not equipped into a player hand slot.
Size_Xuint81YesWidth in inventory grid cells. Seeds are typically 1 wide.
Size_Yuint81YesHeight in inventory grid cells. Seeds are typically 1 tall.

Growth and harvest fields

The fields below are unique to the ItemFarmAsset class and control the growth cycle and harvest mechanics.

FieldTypeRequiredDefaultExamplePurpose
GrowthuintNoengine-defined300The growth duration in seconds before a planted seed becomes harvestable. A value of 300 means 5 minutes. This timer runs in real time, not in-game time.
GrowushortNo04021Legacy numeric ID of the item to spawn when the crop is harvested. Use Grow_SpawnTableGUID for modern mods. This field is the older, single-item yield method; the spawn table method supports weighted random drops.
Grow_SpawnTableGUIDGUIDNonot setb9c3d4e5f6a74a8b9c0d1e2f3a4b5c6eGUID of the spawn table to use when determining which item to spawn on harvest. Preferred over Grow for mods that need varied drops or weighted random selection. If both Grow and Grow_SpawnTableGUID are present, Grow_SpawnTableGUID takes precedence in modern Unturned versions.
Harvest_Reward_ExperienceuintNo110The amount of experience the player gains upon harvesting the crop. This is a flat value per harvest action, not per item yielded.
Harvest_RewardsNPC reward listNonot setAdvancedAn NPC-style reward list granted when harvesting the grown plant. This field supports the full reward system syntax (items, experience, quest flags, teleports). See the official SDG rewards documentation for the complete syntax.

Growth modifier fields

FieldTypeRequiredDefaultPurpose
Affected_By_Agriculture_SkillboolNotrueIf true, the amount of crops acquired when harvesting the plant is affected by the Agriculture skill level. Higher skill levels produce more yield per harvest.
Allow_FertilizerboolNotrueIf true, allows the player to use a consumable fertilizer item on the plant to instantly complete its growth cycle.
Rain_Affects_GrowthboolNotrueIf true, the plant will instantly finish growing after rainy weather begins. Only applies on maps with weather enabled and to plants exposed to open sky.
Ignore_Soil_RestrictionsboolNofalseIf false, the plant can only be placed on terrain materials categorized as soil. If true, the plant can be placed on any terrain material type.

Health and multi-harvest mechanics

Farm assets inherit the Health field from ItemAsset. In standard items, Health is the maximum hit points of the placed entity. For farm assets specifically, the engine repurposes Health to determine the number of times a mature plant can be harvested before it is consumed.

The core formula is:

Harvests possible = floor(Health / 2)

Each harvest action deals exactly 2 damage to the plant. When Health reaches 0, the plant is removed from the world on the next harvest. This is hardcoded - the 2 damage per harvest is not configurable through any .dat field.

Health valueHarvests possibleEffect
11Plant is consumed in one harvest. No regrowth.
21Plant is consumed in one harvest (2 damage equals the Health).
42Two harvests before the plant is exhausted.
63Three harvests.
105Five harvests.
2010Ten harvests. Useful for high-yield farming.

Multi-harvest plant design

A plant with Health 10 is the sweet spot for most farming scenarios: five harvests per seed gives the player a meaningful return on the planting investment without making the crop indestructible. For a high-yield, rare crop (a coffee plant, a magical herb), consider Health 20 (10 harvests) with a longer Growth timer to balance the extended yield window.

Growth timer and skill interaction

The Growth timer runs continuously while the plant is in the world, regardless of whether any player is near the plant. The timer does not require player proximity or server tick activity - it uses the server's real-time clock. A plant with Growth 3600 (1 hour) will become harvestable exactly 3,600 seconds after placement, even if the player who placed it has logged off and returned later.

Agriculture skill effect on harvest yield

When Affected_By_Agriculture_Skill is true, the player's Agriculture skill level increases the item yield from each harvest. The engine applies a skill-based multiplier to the base yield of Grow or to the spawn table's output quantity. Higher skill levels produce more items per harvest action. The exact multiplier formula is defined by the engine and is not configurable through the farm asset .dat. The skill interaction is one-directional - it only increases yield; it never decreases the base yield below the default.

Soil restrictions and placement validation

The Ignore_Soil_Restrictions field controls whether the plant validates the terrain material before allowing placement. When false (the default), the engine checks whether the terrain material at the placement point is categorized as soil. Soil materials in Unturned™ include the vanilla grass, dirt, and farmland material types. If the material is not soil, the placement fails silently - the plant simply does not appear and the seed item is returned to the player's inventory.

When true, the soil check is bypassed entirely. The plant can be placed on any terrain material (sand, stone, asphalt, metal grating, building floors). This allows indoor farming on non-soil surfaces but also permits plants on inappropriate surfaces that would look out of place in the game world.

Complete .dat example: single-harvest tomato plant

A fast-growing single-harvest food crop. The plant matures in 2 minutes, yields a single tomato item, and is consumed on harvest.

ID 50410
GUID a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d
Type Farm
Useable Barricade
Build Farm
Name TomatoPlant

Rarity Common
Slot None
Size_X 1
Size_Y 1

Growth 120
Grow 50411
Harvest_Reward_Experience 5
Health 1

Companion English.dat:

Name Tomato Seeds
Description Fast-growing tomato seeds. Matures in 2 minutes. Single harvest.

Complete .dat example: multi-harvest wheat crop

A medium-growth multi-harvest crop that can be harvested three times before exhaustion. Uses a spawn table for varied drops (wheat stalks, straw, seeds).

ID 50412
GUID b2c3d4e5f6a74a8b9c0d1e2f3a4b5c6e
Type Farm
Useable Barricade
Build Farm
Name WheatCrop

Rarity Common
Slot None
Size_X 1
Size_Y 1

Growth 600
Grow_SpawnTableGUID c3d4e5f6a7b84a9c0d1e2f3a4b5c6d7e
Harvest_Reward_Experience 10
Health 6
Affected_By_Agriculture_Skill true
Allow_Fertilizer true
Rain_Affects_Growth true
Ignore_Soil_Restrictions false

Companion English.dat:

Name Wheat Seeds
Description Medium-growth wheat crop. 10 minutes to mature. Yields 3 harvests per seed. Requires soil. Affected by Agriculture skill.

Complete .dat example: indoor herb garden

A high-yield multi-harvest crop designed for indoor farming with soil restrictions bypassed. Fast growth and shallow roots allow placement on any surface.

ID 50414
ID c3d4e5f6a7b84a9c0d1e2f3a4b5c6d7e
Type Farm
Useable Barricade
Build Farm
Name HerbGarden

Rarity Uncommon
Slot None
Size_X 1
Size_Y 1

Growth 180
Harvest_Reward_Experience 3
Health 10
Affected_By_Agriculture_Skill false
Allow_Fertilizer true
Rain_Affects_Growth false
Ignore_Soil_Restrictions true

Companion English.dat:

Name Herb Garden Seeds
Description Fast-growing aromatic herbs for indoor farming. 3 minutes to mature. Up to 5 harvests. Does not require soil.

Complete .dat example: rare magical mushroom

A slow-growing, high-value multi-harvest crop with experience rewards tuned for mid-game PvE progression. Uses Harvest_Rewards for NPC-style reward list distribution.

ID 50416
GUID d3e4f5a6b7c94a0d1e2f3a4b5c6d7e8f
Type Farm
Useable Barricade
Build Farm
Name ManaShroom

Rarity Rare
Slot None
Size_X 1
Size_Y 1

Growth 3600
Harvest_Reward_Experience 50
Health 4
Affected_By_Agriculture_Skill true
Allow_Fertilizer false
Rain_Affects_Growth false
Ignore_Soil_Restrictions true

Companion English.dat:

Name Mana Shroom Spores
Description Slow-growing magical mushroom. 1 hour to mature. 2 harvests per seed. High experience reward. Not affected by fertilizer or rain.

Growth and harvest lifecycle

The complete lifecycle from planting to exhaustion follows a predictable sequence. Understanding each phase helps modders tune the Growth, Health, and yield fields to produce the intended gameplay experience.

As shown in the flowchart above, the plant cycles through growth acceleration checks (rain and fertilizer) before reaching maturity, then enters a harvest loop until health is exhausted.

Growth optimization strategies

The three growth acceleration mechanisms - time, rainfall, and fertilizer - form an optimization triangle that players can leverage for efficient farming.

StrategyMechanismPlayer effortRisk
Passive growthWait for Growth timerNoneSlow; no player involvement needed
Weather-dependentRain_Affects_Growth trueNone (if map supports rain)Unpredictable; maps without weather never trigger rain
Fertilizer rushAllow_Fertilizer trueMust craft or find fertilizerConsumes fertilizer item; costs resources
CombinedAll three activeMinimalMost reliable path; multiple safety nets

For survival servers, the cohort recommendation is to set all three acceleration paths to true so that players have multiple ways to speed up their farming cycle. For quest-specific plants where the growth speed should be fixed, disable both Rain_Affects_Growth and Allow_Fertilizer and set Growth to the intended duration.

Harvest yield and the spawn table system

The Grow_SpawnTableGUID field connects the farm asset to the spawn table asset system. The spawn table defines weighted entries that determine which items are yielded on each harvest. Using a spawn table instead of the legacy Grow field gives modders several advantages:

  • Multiple item types per harvest (e.g., wheat + straw + seeds)
  • Weighted random selection for varied outcomes
  • Quantity variation through the spawn table's count fields
  • Connection to the broader spawn table economy for consistency

The legacy Grow field accepts a single uint16 item ID and always yields exactly one of that item per harvest. For modern mods, the cohort recommendation is to use Grow_SpawnTableGUID with a spawn table that contains the primary harvest item at high weight and occasional bonus items at lower weight.

Harvest_Reward_Experience vs Harvest_Rewards

Two separate fields control experience and item rewards on harvest.

Harvest_Reward_Experience is a simple uint value. Every harvest action grants this many experience points to the player. The value is flat - it does not scale with skill, luck, or any other factor. A plant with Harvest_Reward_Experience 10 grants exactly 10 XP per harvest, regardless of the plant's Health or how many harvests remain.

Harvest_Rewards is an NPC-style reward list that supports the full Unturned™ reward system syntax. This field can grant items, experience, quest flags, teleport effects, and other complex reward behaviors. The Harvest_Rewards system is documented in the official SDG rewards documentation and is the same system used by NPC quest completion rewards. For most farm assets, Harvest_Reward_Experience is sufficient; use Harvest_Rewards only when you need complex reward logic (conditional rewards, multiple item types with different quantities, or non-item rewards like teleportation).

Crop visual stages

The prefab for a farm asset should provide visual differentiation between the planted and mature states. Unlike other barricade types, farm assets ideally show a visual progression as the plant grows. The engine supports multiple visual stages through the prefab hierarchy. The cohort-validated approach is to include two sub-meshes in the prefab: a seedling sub-mesh (visible during the growth phase) and a mature sub-mesh (visible after the growth timer completes or an acceleration event triggers).

MyCropPrefab (root, with InteractableFarm script)
├── Seedling (MeshRenderer + MeshFilter - small plant, visible during growth)
└── Mature (MeshRenderer + MeshFilter - full-size plant, visible when harvestable)

The InteractableFarm script handles the state transition between seedling and mature states. The script checks the growth status at regular intervals and switches visibility between the two sub-meshes. For a minimal implementation without visual stages, a single static mesh can be used for both states.

Prefab visual requirements

RequirementDetails
Polygon budget200-1000 tris total (plants are small, low-poly items)
Seedling mesh200-400 tris, compact form factor
Mature mesh400-1000 tris, full plant form
ScaleReal-world plant scale; a tomato plant is approximately 30-50 cm tall
Pivot originAt the base of the plant, aligned with the terrain surface
ColliderA simple box or sphere collider covering the mature plant's volume

Soil material compatibility table

The following table documents which vanilla terrain materials are considered soil materials by the engine. This list is from the vanilla material configuration and may be extended by mods that add custom terrain materials.

MaterialSoil?Notes
GrassYesStandard soil material
DirtYesTilled farmland
FarmlandYesPre-tilled soil material
SandNoBeach and desert surfaces
StoneNoRocky surfaces
AsphaltNoPaved surfaces
MetalNoFloor plates, industrial surfaces
CarpetNoInterior floor surfaces
WoodNoWooden floors and decks
GravelNoPath and road surfaces

When Ignore_Soil_Restrictions is false, the plant can only be placed on the three soil materials in the table above. When true, all materials accept placement.

Diagnostic table

SymptomMost likely causeResolution
Seed cannot be placed on terrainIgnore_Soil_Restrictions is false and terrain material is not soilChange terrain to a soil material or set Ignore_Soil_Restrictions true
Seed placed but never maturesGrowth set too high or acceleration mechanics disabled and no rain occursReduce Growth or enable Rain_Affects_Growth or Allow_Fertilizer
Plant visually present but cannot be harvestedPrefab missing InteractableFarm scriptAttach InteractableFarm to prefab root, rebuild bundle
Harvest produces no itemsGrow set to 0 and Grow_SpawnTableGUID not configuredSet Grow to a valid item ID or configure Grow_SpawnTableGUID
Harvest produces wrong itemGrow or Grow_SpawnTableGUID points to incorrect item or spawn tableVerify the ID or GUID matches the intended item or spawn table
Plant consumed after one harvest despite high HealthHealth set to 1 or 2 (consumed on first harvest)Increase Health to 4 or higher for multi-harvest behavior
Plant not consumed despite low HealthOdd Health values produce floor calculations - verify Health / 2 rounds correctlySet Health to an even number for predictable multi-harvest counts
Fertilizer does not work on plantAllow_Fertilizer is falseSet Allow_Fertilizer true in .dat
Rain does not accelerate growthRain_Affects_Growth is false or map does not support weatherSet Rain_Affects_Growth true; verify the map has weather enabled
Growth timer seems inconsistentTimer runs in real time, not game time; server load can affect timingInform players that growth is based on real-world clock, not in-game day cycles
Harvest_Reward_Experience not grantedField not set or set to 0Set a positive integer value (e.g., 10)
Agriculture skill does not affect yieldAffected_By_Agriculture_Skill is falseSet Affected_By_Agriculture_Skill true
Grow_SpawnTableGUID set but plant yields nothing from harvestGUID is incorrect or spawn table has no valid entriesVerify the GUID and confirm the spawn table contains configured item entries
Plant appears at wrong scale in worldNon-unit scale on the prefab root in UnitySet prefab root scale to 1,1,1 and adjust mesh scale in Blender instead
Plant can be picked up instead of harvestedPrefab script type not set to FarmConfirm Type field is Farm in .dat
Plant health depletes faster than calculatedAnother player or entity is damaging the plantPlant can be damaged by non-harvest sources (zombie attacks, explosions, other players)
Plant disappears after server restartGrowth state is not persisted for plants that have not yet maturedNotify server operators that immature plants will need replanting after a restart
Harvest_Rewards configured but has no effectSyntax error in the NPC reward list formatConsult the SDG rewards documentation for the correct Harvest_Rewards syntax

Best practices

  • Set Health to an even number for predictable multi-harvest counts. An odd Health value like 5 produces floor(5 / 2) = 2 harvests (the third harvest would apply 2 damage reducing Health to 1, but the formula counts only full 2-damage increments).
  • Use Grow_SpawnTableGUID instead of the legacy Grow field for new farm mods to support weighted random drops and varied yields.
  • Keep Growth at or below 3,600 seconds (1 hour) for standard crops. Longer growth timers produce player frustration in typical survival gameplay.
  • Set all three growth acceleration paths (Rain_Affects_Growth, Allow_Fertilizer, and passive time) to true for survival-oriented crops.
  • Disable rainfall and fertilizer for quest-specific plants where the growth timeline must be fixed and predictable.
  • Set Affected_By_Agriculture_Skill true for food crops (players invested in Agriculture should feel rewarded) and false for decorative or quest plants (where yield consistency matters).
  • Author Harvest_Reward_Experience proportional to the difficulty of getting the plant to maturity: a fast-growing 2-minute crop should grant 3-5 XP; a slow-growing 1-hour crop should grant 30-50 XP.
  • Provide seedling and mature sub-meshes in the prefab so players can visually distinguish between growing and harvestable plants.
  • Test the multi-harvest interaction in single-player before publishing: spawn the seed, place it, wait for growth, harvest multiple times, and verify the plant is consumed after the expected number of harvests.
  • Document the plant's growth time, harvest count, and yield type in the English.dat description so players know what to expect before planting.

Frequently asked questions

How does the Agriculture skill interact with spawn table drops?

When Affected_By_Agriculture_Skill is true and the plant uses Grow_SpawnTableGUID for its yield, the Agriculture skill level multiplies the quantity of items produced by the spawn table. The exact multiplier is engine-defined and applies to the spawn table's output count. The base quantity (the count before the skill multiplier) is defined in the spawn table entry. Higher skill levels increase the multiplier, meaning an experienced farmer gets more crop per harvest than a novice.

Can I make a plant that grows only indoors?

Yes. Set Ignore_Soil_Restrictions true and Rain_Affects_Growth false. The plant can be placed on any surface (including building floors) and will not be accelerated by rainfall, which would not reach it indoors anyway. The growth is purely timer-driven unless the player uses fertilizer.

Can I make a plant that regrows after harvest?

Unturned™ farm assets do not natively support regrowth - once the plant's Health reaches 0, the plant is removed and the seed is consumed. However, a plant with high Health (e.g., 20 or higher) can sustain many harvests, effectively behaving like a regrowing plant for a large number of cycles. For true regrowth behavior (a plant that regrows its harvestable state without being replanted), a server plugin would be needed.

What happens to a growing plant if the server crashes?

Growing plant state is not persisted across server restarts. A plant that was in the growth phase before a server restart will need to start its growth cycle again after the server comes back online. Mature plants (those already in harvestable state) persist, but their state is not guaranteed. This is the same persistence behavior as other barricade items.

Can I make a plant that requires a specific tool to harvest?

No. The harvest action is a player interaction, not a tool-based action. Any player within interaction range of a mature plant can harvest it by pressing the interact key. If your mod scenario requires tool-restricted harvesting (e.g., only a sickle can harvest wheat), that restriction must be enforced through a server plugin.

Can a plant be damaged by zombies or explosions?

Yes. Farm assets are barricade-type items and inherit the standard barricade damage behavior. Zombies can damage plants by walking over them (if the zombie's navmesh path crosses the plant's collider) and explosions can destroy plants within their blast radius. Plants placed in high-traffic zombie areas may be destroyed before they reach maturity. The cohort recommendation is to encourage players to plant within fenced or defended areas.

What is the minimum Growth value?

The Growth field is an unsigned integer. The theoretical minimum is 1 (1 second). A plant with Growth 1 matures in one second after placement. This is a valid configuration for testing, creative mode, or decorative plants that should be immediately harvestable. For normal gameplay, the cohort recommendation is 60-3600 seconds depending on the crop's intended role.

Does the Growth timer run while the chunk is unloaded?

Yes. The growth timer runs on the server's real-time clock, independent of player proximity or chunk loading state. A plant placed on a remote part of the map matures at the same rate as a plant placed in the player's base. The timer pauses only when the server is offline.

Can I have a plant that grants zero experience?

Set Harvest_Reward_Experience to 0 or omit the field. The default is 1, so you must explicitly set it to 0 to produce an experience-free crop. The plant will still yield items from Grow or Grow_SpawnTableGUID.

How do I make a decorative plant that cannot be harvested?

Set Grow 0, omit Grow_SpawnTableGUID, and set Health 0. The plant grows to maturity (if it has a Growth value) but produces nothing on interaction and is not consumed. Alternatively, set the plant's Useable field to a different barricade subtype to prevent the farm interaction entirely, though this moves the plant outside the farm asset system.

What is the maximum practical Health for a multi-harvest plant?

The Health field is a uint16, supporting values up to 65535. For multi-harvest purposes, Health 100 produces 50 harvests per plant, which is already more than any player would need from a single seed. Values above 100 are technically valid but produce diminishing gameplay returns - the player will stop harvesting long before the plant is exhausted. The cohort recommendation is Health 4 through Health 20 for standard farming gameplay.

Can I use both Grow and Grow_SpawnTableGUID?

Yes, both fields can be present in the same .dat. In modern Unturned versions, Grow_SpawnTableGUID takes precedence and Grow is ignored if both are set. For backward compatibility with older Unturned versions, some mods include both fields, but this is not recommended for new mods - use Grow_SpawnTableGUID exclusively.

Appendix A: Farm asset .dat field quick reference

FieldTypeRequiredDefault
IDuint16Yes,
GUIDuint128Yes,
Typeenum (Farm)Yes,
Useableenum (Barricade)Yes,
Buildenum (Farm)Yes,
NamestringYes,
RarityenumNoCommon
SlotenumNoNone
Size_Xuint8Yes,
Size_Yuint8Yes,
Healthuint16NoBarricade default
GrowthuintNoengine-defined
GrowushortNo0
Grow_SpawnTableGUIDGUIDNonot set
Harvest_Reward_ExperienceuintNo1
Harvest_Rewardsreward listNonot set
Affected_By_Agriculture_SkillboolNotrue
Allow_FertilizerboolNotrue
Rain_Affects_GrowthboolNotrue
Ignore_Soil_RestrictionsboolNofalse

Appendix B: Crop type classification table

The table below provides cohort-validated balance categories for farm assets.

Crop typeGrowth (sec)HealthYield per harvestXP per harvestSoil required
Fast food crop60-3001-41-2 items3-5Yes
Standard staple300-18004-101-3 items5-15Yes
Slow cash crop1800-72004-101-2 high-value items15-30Yes
Indoor herb60-6004-101-2 items2-5No
Exotic mushroom1800-72002-61 rare item25-50No
Decorative60-3600000Optional
Quest-specific3600-2160011 quest item0Optional

Appendix C: External references

Advanced considerations

Farming and the server economy

Farm assets interact directly with the server economy. A crop that produces a valuable item (meds, crafting components, rare food) with a short growth window and high multi-harvest count can flood the economy with that item, devaluing it. The cohort recommendation is to balance yield per hour against item rarity: a crop that produces 10 healing salves per hour should be tuned so that the salves do not replace loot-table drops as the primary source. Server operators should monitor farm yield volume as part of their ongoing economy balance.

Cross-tool interaction: melee, resource, and farm

Farm assets interact with the resource and melee systems through the barricade damage chain. A melee weapon with high Damage_Structure or Damage_Barricade can destroy a farm plant faster than harvesting it. This means combat-oriented players can sabotage enemy farms by damaging plants with weapons, not just by destroying the barricade. Server operators who want to protect farm plants from weapon damage should consider a plugin that reduces or eliminates weapon damage against farm-type barricades.

Plant damage from environmental sources

Farm assets inherit barricade damage behavior, which means they can be damaged by:

  • Zombie melee attacks
  • Explosions (from grenades, rockets, explosive barrels)
  • Vehicle collisions
  • Falling damage (if the plant is on a destructible structure that collapses)
  • Fire damage (if the plant is within a fire zone)

Environmental damage can reduce the plant's Health below the expected harvest count, causing the plant to die before its intended multi-harvest count is reached. The cohort recommendation for server configuration is to set barricade damage from environmental sources to a reduced rate on PvE servers where farming is a primary activity.

Water farming and aquatic crops

Unturned™ does not have native water-based farming mechanics. A plant with Ignore_Soil_Restrictions true can be placed on water terrain materials, but the plant's growth behavior is identical to land-based placement. The engine does not distinguish between water and land for farm asset purposes beyond the material compatibility check. If your mod requires aquatic crop behavior (faster growth in water, slower growth out of water), that customization must be implemented through a server plugin.

Appendix D: Farm asset growth optimization graph

The graph shows the three acceleration paths a crop can take from seed to maturity. The presence or absence of each path is controlled by the Rain_Affects_Growth and Allow_Fertilizer boolean fields.

Appendix E: Multi-harvest calculation reference

HealthHarvestsTotal items (base)Yield efficiency
111× base100% per seed
211× base100% per seed
422× base200% per seed
633× base300% per seed
844× base400% per seed
1055× base500% per seed
1266× base600% per seed
201010× base1000% per seed

Yield efficiency is calculated as harvests multiplied by base yield per harvest, divided by the cost of one seed. Multi-harvest crops provide exponentially better return on seed investment than single-harvest crops and should be balanced through longer Growth timers, higher rarity, or lower base yield per harvest.

Authoring checklist

Before publishing a farm item to the Steam Workshop, confirm the following:

  • [ ] GUID is unique - generated fresh, not copied from another asset
  • [ ] ID is in the 50000+ range
  • [ ] Type Farm, Useable Barricade, Build Farm are all present and correctly spelled
  • [ ] Growth is set to the intended duration in seconds
  • [ ] Grow_SpawnTableGUID or Grow references a valid spawn table or item ID
  • [ ] Health is set to the intended multi-harvest count (even number recommended)
  • [ ] Harvest_Reward_Experience is set to a positive integer (or 0 for no XP)
  • [ ] Affected_By_Agriculture_Skill, Allow_Fertilizer, Rain_Affects_Growth, and Ignore_Soil_Restrictions are explicitly set according to the intended crop design
  • [ ] Prefab has seedling and mature sub-meshes with correct visibility logic
  • [ ] Prefab has InteractableFarm script attached to root
  • [ ] Prefab collider covers the mature plant volume
  • [ ] Master bundle is built and copied to the mod's Bundles/ folder
  • [ ] English.dat is authored with descriptive Name and Description fields
  • [ ] Tested in single-player: seed placed, growth timer verified, acceleration mechanisms tested, harvest yields expected items, multi-harvest count verified
  • [ ] Workshop description documents the crop's growth time, harvest count, and yield type

Document history

VersionDateAuthorNotes
1.02026-07-2657 StudiosInitial publication. Full farm asset .dat field reference, growth mechanics, harvest system, multi-harvest calculation, worked examples, FAQ, appendices.

Cross-references