
Description
Easily implementable, flexible, efficient, and highly scalable enemy spawning system for any game genre!
This lightweight, fully replicated C++ system allows you to spawn enemies asynchronously based on game time, player locations, events, and more - while ensuring smooth and highly optimized performance.
This spawner handles everything from portal-based spawning to outer-circle enemy spawning, boss fights, event triggers, pattern spawning, and endless mode - all configurable with Data Assets.
/** New update v1.02 */
Update v1.02 showcaseAdded full runtime spawning control with Pause, Resume, and Stop Spawning functions.
Added the ability to force Endless Mode manually, allowing developers to switch the spawner into Endless Mode whenever needed.
Added new getter functions and bindable events for tracking and reacting to spawning state changes.
/** New update v1.01 */
1. Customizable Time Source - You now have full control over how elapsed time is calculated — you can use the plugin’s built-in Game Time Manager, link your own custom timer value, or fall back to the engine’s default time.
2. Timer-Based Pattern Spawning - Patterns can now be spawned not only through events but also at a specific time defined in the data asset.
Key features:
1. Dynamic Spawn Types
Outer Circle spawning (Around Players) - Spawns enemies beyond an inner radius but within an outer radius around players.
Portal-Based spawning - Spawns enemies from predefined locations.
2. Game Time & Event-Based Spawning
Define which enemies appear at different stages of the game.
Use a weighted random system to adjust enemy spawn type probability (useful for dynamic difficulty scaling over time).
Set Min & Max Spawn Intervals, or SpawnIntervalTimer to control how frequently enemies spawn.
Triggers enemy waves based on events, boss fights, or endless mode.
3. Pattern-Based Enemy Spawning
Spawn enemies in Circle, Line, or Spiral formations.
Adjust spawn radius and density dynamically.
4. Fully Replicated & High-Performance
Multiplayer-ready – Ensures synced enemy spawns for all players.
Utilizes multi-threaded asynchronous spawning for optimal performance.
5. Fully Configurable via Data Assets
Easily manage everything in a structured Data Asset without modifying the code.



