ASharpPen-Spawn_That icon

Spawn That

Advanced tool for customizing mob spawners throughout the world with configuration files.

Last updated 3 weeks ago
Total downloads 325458
Total rating 33 
Categories Mods Utility Server-side Client-side Mistlands Update
Dependency string ASharpPen-Spawn_That-1.2.7
Dependants 919 other mods depend on this mod

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2101 icon

BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.

Preferred version: 5.4.2101


Spawn That!

This is an advanced tool for configuring all world spawners.

With this, it is possible to change almost all of the default settings for the way spawners work in Valheim. Want to have a world without trolls? Possible! (probably) Want to have a world with ONLY trolls? Possible! (almost) Want to have a world where greydwarves only spawn at night? Possible! Just want to have more/less of a mob type? Simple modifiers exist!


  • Change spawning rates of specific mobs
  • Replace existing spawn configurations throughout the world
  • Set almost any of the default parameters the game uses
  • Add your own spawn configuration to the world
  • Modify the localized spawners by mob type and location
  • Dump existing game templates as files using the same format as the mod configs.
    • Easy to copy-paste and change the parts you want.
    • Investigate what the world throws at you.
  • Server-side configs
  • Modify the spawners in camps, villages and dungeons
  • Conditions and settings specific to integrated mods:


Documentation can be found on the Spawn That github page.


Name = Angry Test Boars
PrefabName = Boar
Biomes = Meadows
Enabled = true
MaxSpawned = 30
SpawnInterval = 1
SpawnChance = 100
SpawnDuringDay = true
SpawnDuringNight = true
ConditionLocation = Runestone_Boars
ConditionDistanceToCenterMin = 500
ConditionAreaSpawnChance = 50


ConditionNearbyPlayerCarryLegendaryItem = HeimdallLegs

v1.0.0 Details

Config changes

Enabled now toggles the actual spawner on/off. This can be used to both disable local spawners and world spawner entries.

TemplateEnabled added, which behaves like the old Enabled by disabling the configuration entry itself.

API support

Spawn That now supports configurations by code. Configurations are merged with configs from file. File configurations will be applied last, ensuring that users can still override the settings made by mods.

A nuget release has also been made available.

Configurations are applied once pr world entered, and synced from server-side.

API is more feature-rich than the config files though.


public class Plugin : BaseUnityPlugin
	public void Awake()
		// Register for configuration event.
		SpawnThat.Spawners.SpawnerConfigurationManager.OnConfigure += MySpawnerConfigurations;

	public void MySpawnerConfigurations(ISpawnerConfigurationCollection spawnerConfig)
		// Add a new world spawner

		// Modify an existing vanilla spawner

		// Modify a local spawner
			.ConfigureLocalSpawnerByLocationAndCreature("Runestone_Boars", "Boar")


If you feel like it



  • v1.2.7:
    • Fixed: SetFaction was only applying the faction on creature spawn, it now correctly re-applies on creature load.
    • API: Updated GlobalKey enum with new known keys.
  • v1.2.6:
    • Fixed: Compatibility for Valheim v0.216.9
  • v1.2.5:
    • Local Spawner: Fixed day-night conditions being swapped.
  • v1.2.4:
    • Fixed: Compatibility with Valheim v0.215.2.
  • v1.2.3:
    • Fixed error for prefab nearness position conditions (eg., MustBeNearAllPrefabs) when condition was empty in config file.
    • Fixed PrintFantasticBeastsAndWhereToKillThem only printing maps for spawns in file configs. Should now correctly pick up spawns added by API.
    • Fixed null-reference error while generating spawn biome maps.
  • v1.2.2:
    • Compatibility: Epic Loot v0.9.5.
  • v1.2.1:
    • Compatibility: Allowing : in section headers for compatibility with Expand World.
  • v1.2.0:
    • World Spawner: Fixed LevelUpChance only being properly applied to new entries.
    • SpawnArea: Fixed modifiers not being applied properly.
    • Local Spawner & SpawnArea: Fixed LevelUpChance not being properly applied when using setting UseDefaultLevel.
    • World Spawner: Added support for vanilla field BiomeArea.
    • World Spawner & SpawnArea: Added ConditionPositionMustBeNearAllPrefabs
    • World Spawner & SpawnArea: Added ConditionPositionMustBeNearPrefabs
    • World Spawner & SpawnArea: Added ConditionPositionMustNotBeNearPrefabs
    • Compatibility: Moved all applications of spawn modifier settings to happen slightly later. This should solve issues with settings like CLLC UseDefaultLevels.
  • v1.1.7:
    • World Spawner: Added support for new LevelUpChance field.
    • Fixes for v0.212.6
  • v1.1.6:
    • Fixed patch compatibility with v0.212.6
  • v1.1.5:
    • For all spawners: Fixed config sync for fields Enabled, TemplateEnabled being ignored when false.
    • Local Spawner: Fixed potential config sync issue for fields SpawnAtDay and SpawnAtNight defaulting to true when not set.
    • SpawnArea Spawner: Fixed potential error when syncing custom identifiers.
    • Streamlined logs of successful config sync a bit.
  • v1.1.4:
    • Fixed mapping of settings, where SpawnThat would throw an error when processing certain settings defined as empty in cfg file. Primarily affected WorldSpawner configs.
  • v1.1.3:
    • Fixed world spawner ConditionWorldAgeDaysMax being set to ConditionWorldAgeDaysMin.
    • Fixed world spawner ConditionDistanceToCenterMin and Max settings being set incorrectly.
    • Fixed MobAILib settings spitting out errors when SetAI was set, but not AIConfigFile.
    • Disabled world spawner configs being applied server-side on dedicated servers. This should avoid a potential harmless but confusing warning.
    • Added SetTryDespawnOnConditionsInvalid to world spawner loaded configs debug file.
    • Added internal tests for mapping of all types of spawner configs.
  • v1.1.2:
    • Fixed default values getting assigned to empty settings (eg., SetFaction = ). Caused by last patch. Note to self, dont be lazy.
  • v1.1.1:
    • Fixed spawn_that.simple.cfg not being populated on file creation, when InitializeWithCreatures=true was set in spawn_that.cfg. Introduced in v1.1.0.
    • Fixed GroundOffset for world spawner file configs not being used. Introduced in v1.1.0.
  • v1.1.0:
    • Added support for new SpawnArea spawner type (eg., greydwarf nests).
    • Added custom config file reader. This should hopefully make things more intuitive and less volatile. It does however mean that comments are longer added automatically.
    • Swapped file load and merge order, to make default files override supplemental, as was originally intended (eg., spawn_that.world_spawners_advanced.cfg gets loaded after spawn_that.world_spawners.something.cfg now).
    • Added datamining for locations, as an option in general config.
    • Removed setting "StopTouchingMyConfigs" from general config, as it has become irrellevant.
    • Fixed bug with attempting to load files as configs if they fit the expected name pattern, even though they didn't end with '.cfg'.
    • Fixed bug where disabling world spawner with Enabled disabled the config instead.
    • Fixed potential error when adding a new world spawner without specifying a prefab name.
    • A LOT of boring internal changes, logging and documentation that noone will probably ever see or care about.
  • v1.0.6:
    • Fixed config sync for expanded enums. This should resolves an issue when using biomes from Expand World on servers.
    • Fixed level calculcation used when using the CLLC integration setting UseDefaultLevels.
  • v1.0.5:
    • Improved world spawner debug file output. Now tries to output not just the default settings, but the custom too. Including integrations.
    • Fixed world spawner post change debug file not showing the configuration ID's, but instead the internal index they were added at.
    • Fixed world spawner cfg load adding unnecessary option.
    • Fixed faction, biome and cllc setting parsing being case-sensitive. Eg., setting biome as Blackforest would fail to parse as biome BlackForest.
    • Added installation check for YamlDotNet dll, to ensure it is present.
  • v1.0.4:
    • Fixed dungeon room names not being cleaned before registration, causing issues with local spawners matching.
  • v1.0.3:
    • Fixed local spawner file-configs not being properly matched with spawners.
    • Fixed error when printing world spawners with missing prefab to debug file.
    • Fixed error when having file-configurations with integrations not installed.
    • Added robustness to API when setting up configurations for uninstalled integrations.
    • Added robustness for v0.207.15
  • v1.0.2:
    • Fixed error spawn from world spawners, when joining a server with no world spawner configurations.
  • v1.0.1:
    • Fixed broken config sync.
  • v1.0.0:
    • WorldSpawner config Enabled now toggles the actual spawn entry on/off.
    • Added WorldSpawner option TemplateEnabled to replace Enabled.
    • LocalSpawner config Enabled now toggles the spawner itself on/off.
    • Added LocalSpawner option TemplateEnabled to replace Enabled.
    • Added API for using Spawn That by code.
    • Debug files are now printed to BepInEx/Debug by default. Output folder is configurable.
    • A ton of internal work and improvements.
    • Moved documentation to Documentation will be updated here from now on.
  • v0.11.6:
    • It's the season of bugs! World spawner templates are now instantiated on entering world, meaning changes applied are no longer carried between worlds / re-entering. This is hopefully getting changed by IG in the future.
    • Fixed local spawners not honouring "Enabled=false". Configs were still attempted applied.
    • Fixed leftover optimizations causing spawners to get disabled in biomes outside the one player logged into.
  • v0.11.5:
    • More v0.205.5 fixes. World spawners were changed from no longer being per zone, but properly global, meaning Spawn That was reapplying its changes more than once.
  • v0.11.4:
    • Fixes for Valheim v0.205.5
  • v0.11.3:
    • Fixes for Valheim v0.202.14
  • v0.11.2:
    • Fixed the setting SpawnInPlayerBase not being assigned to local spawners.
  • v0.11.1:
    • Fixed issue with local spawners being disabled due to missing location info.
    • Made local spawners less demanding of config application. Should revert to default spawn if Spawn That fails to apply its changes.
  • v0.11.0:
    • Added region labelling for map biomes. Will now scan for connected biome zones, and assign an id for that whole area.
    • Added condition for spawning only in specified areas. Intended as a world specific setting. For those who have been waiting, this is the option to use for designated monster islands.
    • Added condition for spawning in an area, chance is pr area and only rolled once, to allow for variety in spawning across the world.
    • Added console commands for areas.
    • Added conditions for epic loot based items on nearby players.
    • Added support for spawning non-ai entities. MaxSpawned and SpawnDistance should now work properly for any prefab. SpawnDistance should work for any distance now, be aware this may cause performance issues if set too high.
    • Documentation moved to mod wiki.
  • v0.10.1:
    • Fixed issue with world-spawner mobs not spawning in mountains.
  • v0.10.0:
    • Optimized network package sizes.
    • Added initial support for MobAILib.
    • Added setting "SetTamed" for local- and world spawners.
    • Added setting "SetTamedCommandable" for local- and world spawners.
    • Added world spawner condition "" for nearby players having status effect.
  • v0.9.1:
    • Fixed issue with too early access of location info. Should resolve issue with local spawners not spawning creatures.
  • v0.9.0:
    • Added setting "UseDefaultLevels" to CLLC integraiton, to let Spawn That set levels.
    • Added setting "SetRelentless".
    • Added setting "SetTryDespawnOnConditionsInvalid".
    • Added setting "SetTryDespawnOnAlert".
    • Added setting "TemplateId", for assigning a specific identifier to mobs spawned by a template, for other mods to use (intended for future Drop That setting).
    • Added condition "ConditionNearbyPlayersNoiseThreshold".
  • v0.8.2:
    • Added more helpful warning- and error messages for when configurations are incorrectly set up.
    • Changed StopTouchingMyConfigs to be set to true by default when spawn_that.cfg is created. Due to the massive loading time impact of large config files.
  • v0.8.1:
    • Additional error handling for conditions. Should help fix potential errors coming out of the newly added player conditions.
  • v0.8.0:
    • Added world spawner condition for nearby players carried items.
    • Added world spawner condition for nearby players carried valuables.
    • Added option for assigning faction for world- and local spawner entries.
    • Added faction to pre-change debug files.
    • Changed when configs are applied to spawners, for increased compatibility with mods adding prefabs.
    • Additional error checks.
  • v0.7.1:
    • Fixed simple config being generated with wrong prefab-names.
    • Additional error handling.
    • Changed location info from server to client slightly, to hopefully stop issues with local spawners.
  • v0.7.0:
    • Added support for Creature Level and Loot Control (CLLC)
    • Added CLLC creature effect options for world- and local spawners.
    • Added CLLC world level condition to world spawners.
  • v0.6.0:
    • Added world spawner condition - RequiredNotGlobalKey
    • Added support for supplemental world- and local spawner config files.
    • Local spawner configs now work in multiplayer.
  • v0.5.1:
    • Added a (probably temporary) config to not run local spawner configs, due to issues with multiplayer.
    • Fixed error message from local spawners.
    • Removed a couple of pointless warnings.
  • v0.5.0:
    • Added new local spawner defaults to file dumps.
    • Added condition for world spawners. World age in days.
    • Added console command for getting current room in which player is standing.
    • Added configuration for Dungeons, Camps and Villages. All are considered local spawners.
    • Lots of bug fixes. Spawners should have an easier time having configuration "stick" now.
  • v0.4.0:
    • New condition for world spawners. Distance to center min/max.
    • Simple config initialized with creatures on file creation by default.
    • Various attempts at stabilizing and guarding code.
  • v0.3.0:
    • Server-to-client config sync added
  • v0.2.0:
    • Initial release

Available versions

Please note that the install buttons only work if you have compatible client software installed, such as the Thunderstore Mod Manager. Otherwise use the zip download links instead.

Upload date Version number Downloads Download link  
2023-9-4 1.2.7 11952 Version 1.2.7 Install
2023-6-12 1.2.6 37402 Version 1.2.6 Install
2023-4-22 1.2.5 32857 Version 1.2.5 Install
2023-4-12 1.2.4 13879 Version 1.2.4 Install
2023-3-29 1.2.3 15402 Version 1.2.3 Install
2023-1-12 1.2.2 42280 Version 1.2.2 Install
2022-12-22 1.2.1 15846 Version 1.2.1 Install
2022-12-17 1.2.0 4420 Version 1.2.0 Install
2022-12-7 1.1.7 7816 Version 1.1.7 Install
2022-11-12 1.1.5 12411 Version 1.1.5 Install
2022-10-3 1.1.4 14445 Version 1.1.4 Install
2022-9-26 1.1.3 3273 Version 1.1.3 Install
2022-9-22 1.1.2 2138 Version 1.1.2 Install
2022-9-19 1.1.1 1553 Version 1.1.1 Install
2022-9-17 1.1.0 1427 Version 1.1.0 Install
2022-9-15 1.0.6 1096 Version 1.0.6 Install
2022-3-31 1.0.5 45937 Version 1.0.5 Install
2022-3-6 1.0.4 10399 Version 1.0.4 Install
2022-2-20 1.0.3 5463 Version 1.0.3 Install
2022-2-16 1.0.2 1924 Version 1.0.2 Install
2022-2-13 1.0.1 1544 Version 1.0.1 Install
2022-2-12 1.0.0 851 Version 1.0.0 Install
2021-11-27 0.11.6 16669 Version 0.11.6 Install
2021-11-26 0.11.5 696 Version 0.11.5 Install
2021-11-25 0.11.4 685 Version 0.11.4 Install
2021-9-16 0.11.3 9768 Version 0.11.3 Install
2021-7-1 0.11.2 7223 Version 0.11.2 Install
2021-6-21 0.11.1 1129 Version 0.11.1 Install
2021-6-20 0.11.0 344 Version 0.11.0 Install
2021-6-3 0.10.1 1182 Version 0.10.1 Install
2021-5-20 0.10.0 515 Version 0.10.0 Install
2021-5-13 0.9.1 406 Version 0.9.1 Install
2021-5-5 0.9.0 296 Version 0.9.0 Install
2021-4-28 0.8.2 271 Version 0.8.2 Install
2021-4-24 0.8.0 227 Version 0.8.0 Install
2021-4-20 0.7.1 218 Version 0.7.1 Install
2021-4-17 0.7.0 204 Version 0.7.0 Install
2021-4-17 0.6.0 171 Version 0.6.0 Install
2021-4-13 0.5.1 188 Version 0.5.1 Install
2021-3-30 0.5.0 269 Version 0.5.0 Install
2021-3-16 0.4.0 257 Version 0.4.0 Install
2021-3-14 0.3.0 208 Version 0.3.0 Install
2021-3-12 0.2.0 217 Version 0.2.0 Install