Unturned Update Notes

Update Notes





Spawn Assets

TL;DR: Workshop mod creators can set up their content to automatically start spawning on official maps. For example a pack that adds some rare guns could start spawning in the spec ops weaponry table. Map creators can also opt into this system which means that when new content is added to the game it will spawn on their maps.

I’ve been very excited about adding these new features for ages now and can’t wait to see what you do with them! There are three main parts, so feel free to read them all or whatever is relevant to you.


To get your custom content spawning you’ll need to set up a spawn table for it. I’d recommend creating one table as a buffer/proxy which generates the root spawner which generates each rarity of item which then actually spawn the items. In order to allow further extension on these spawners the minimum weight should be around 10, and the proxy spawner should be higher maybe around 100. Once your spawner is set up you can find any appropriate map spawners to assign as roots.

Spawn Tables:

These are a new asset type which represent the chances of getting an item/vehicle/animal. They follow this format when creating the asset:

Type Spawn
ID # // 1-1000 are reserved

Roots # // Parent count
Root_#Spawn_ID // Spawner to set as parent
#_Weight // Weight in the parent spawner

Tables # // Child count
Table_#Asset_ID // Item/vehicle/animal ID to spawn
#Spawn_ID // If no assetID is set, spawn this spawner
#_Weight // Weight of this child

Roots are the spawners that your spawner will attach itself to. If this is a spawner for a map you probably won’t use this, but for a mod they can be used to extend existing spawn tables. Tables are the things that will get spawned by your spawner. A spawner at the bottom of the chain will be entirely assetIDs, whereas one near the top will likely be entirely spawnIDs.

Tip: You can debug any spawner by using the new Spawns tool on the main menu under Workshop which lets you enter a spawnID to view what it generates, what generates it and the chances of each. By clicking on the parent/child spawners you can navigate up and down the tree. For example viewing ID 112 in item mode will show you what the chances of getting flares are.


For the most part just using the legacy spawning system is probably fine for your map. If you would like to get the advantages mentioned above, however, it is fairly straightforward to upgrade your map and I’ve spent a good amount of time making the tools easy to do most of the work for you.

The first important thing is to rename any tables that shouldn’t use existing ones. For example if your table is called “Fire” it will find the existing fire fighter spawn table and use it instead. Any tiers that just spawn variants of an item, like flares, will find the spawner generating them and use it. When you’re ready you can enter a starting ID above 1000 and export legacy tables. These files will appear in your level folder and will also create an IDs.csv spreadsheet so that you can keep track of what’s what. If you are making a new map and want to set up the table names and proxies quickly you can use the export proxy tables button.

Tip: You can now include assets for a specific map by putting them in a folder named “Bundles”. The primary use for this is including spawn table assets, but can also be used for custom files that won’t be part of a separate pack.

One of the other neat results is it’s starting to open up a path for accepting maps using this system into the official pool which I’m working toward as well.


There are no hash checks on the spawners because they are entirely server side, so you can easily modify them to add/remove/adjust your spawns.