Wave Spawning System

**Wave Spawning System is a 100% blueprint powered spawning system for quickly and easily setting up enemy waves in Unreal Engine.

Marketplace Page:…pawning-system**

The Wave Spawning System will allow you to quickly set up & spawn hordes of enemies in your game. Simply define the waves in a data table, add a Wave Spawn Controller to your level and link it with spawn points, and begin spawning right away!

Using a batching system to define clusters of AI units within a wave, the Wave Spawning System allows you to set up huge waves comprising of multiple groups of enemies with minimal effort. Each batch of AI units can be customized independently using parameters such as spawn starting time, time intervals between spawns, spawn point, and number of units, to create a diverse set of enemy waves that match your specifications.

The Wave Spawning System also supports multiple spawning modes: use either the basic Fixed Location spawn points or Spawning Volumes that generate randomized spawn locations over larger regions, with fail-safe tests that maximize the probability of finding valid spawn locations.

Showcase Video:


  • Automated Wave Spawning at Level Start
  • Manual Wave Spawning through Wave Triggers
  • DataTable driven workflow enables easy setting up of waves
  • Batching of AI units for easy customization
  • Special Waves that spawn Bosses at the end
  • Customize Spawn Starting Time, Number of Units, and more
  • Basic Spawn Points with fixed location spawning
  • Spawning Volumes that generate randomized spawn locations over large areas
  • Precaching of Spawn Locations to minimize the impact on runtime performance
  • Fail-Safe Tests to maximize the probability of finding valid spawn locations
  • Notification Systems for Wave Completion & Points Distribution
  • Countdown Timer for players to prepare for incoming waves
  • Sample Gameplay Level showcasing the working of core systems in tandem
  • Fully commented Blueprints to accelerate the learning process

Current Version: 1.0.1

Preview Screenshots:

If you have any doubts or queries regarding the toolkit, you can always reach out to me personally through my email id: [EMAIL=“”]


  1. Getting Started on a New Map:

  2. Create Randomized Spawn Locations using Spawning Volumes:

  3. How to use Wave Triggers:

  4. Setting up Difficulty Control for Wave Cycles:

  5. Setting up waves with custom AI characters:

Update Logs:

The v1.0.1 update has gone live on the Marketplace.

Change Log:

  • AI Stats Control parameters are now passed at spawn as structs instead of individual float variables like Health Multiplier, thus enabling new control parameters (for example, a damage multiplier) to be added without requiring any changes to the default workflow.

  • Added a fail-safe test to ensure that Stats Control parameters are initialized (with default multiplier values of 1.0) for at least a single wave cycle.

Additional Notes:

  • Search for Version****1_0_1 in the blueprint editor to identify all new changes in this update.

Hi, I’ve shared a free Win 32 executable demo based on the sample gameplay map that comes with the Wave Spawning System. So if anyone’s interested in trying it out before purchasing, you can download it from Dropbox and have a look at it yourself:…20Demo.7z?dl=0

Gameplay Demo Description:

  • One Wave Cycle comprising of 10 waves
  • Boss Spawn at the end of the final wave
  • Two player weapons: Projectile (basic) & Railgun (penetrating hitscan)
  • Four enemy types: Grunt (basic), Mutator (keeps growing if left alive), Elite (additional zig-zag motion to make targeting difficult), & Boss (with two side turrets that can attack player)

Input Controls:


Two additional tutorials have also been uploaded:

Hi, I’ve added a new tutorial for setting a limit on the maximum number of AI units that can be active in wave at any time: Wave Spawning System Tutorial: How to add Spawn Limiters to limit Max Spawned AI - Google Docs

So if you want to control the max concurrent unit count, you can now do so by making a few small changes to the AI Batch Spawner & Wave Spawn Controller blueprints. The wave spawning system will then spawn new units until it reaches the max unit count, then stops, & continues again once the unit count drops below the threshold.

Now random enemies are spawning. Your health system changes the health of an enemy based on the waves in a batch. I need the health and exp gain of my enemies to follow the “current wave number” as in the overall wave number, not within the 1 - 10 wave. So I think I would be better off with a specific code for this.

So I would like to use my own for this. So what do I need to add to my own health/exp system, to let your wave system know when a wave is dead, so it can spawn next wave? I have a fully working exp/health system going, but your system needs to know when to spawn next wave. The “On Begin Owner Deletion” doesn’t seem to tell the wave system that my enemies are dead.