Components
The Runtime Spawner system is composed of modular components that can be mixed and matched to fit your game’s design — from simple ambient spawns to fully dynamic, director-driven encounters.
Pro Tip: Every field in the Inspector includes a tooltip — hover your mouse over it for inline documentation.
Runtime Spawner
The heart of the system. Controls global spawning behavior, spawn queues, caps, timing, and integration with pooling and factories.
Responsibilities
Starts, stops, and manages all active spawns.
Works with Spawn Entries, Wave Triggers, and Region Controllers.
Handles deterministic seeding (if enabled).
Interfaces with your chosen Object Factory (single-player, Fusion, or PUN).
In most setups: You’ll have one Runtime Spawner per scene — it’s the central coordinator for all other spawner components.
Local Area Spawner
Used for tile-, region-, or zone-based spawning. Each Local Area Spawner registers itself with the Runtime Spawner and defines localized spawn lists and ranges.
Common Uses
Population of open-world regions or procedural tiles.
Controlling per-area spawn density.
Integrating with the Region Population Controller for step-based scaling.
Wave Trigger
Defines event- or time-based spawn waves. Can be started manually (via script or event) or automatically on scene load.
Features
Configurable delay, interval, and repeat mode.
Supports looping, duration-based, or signal-based behavior.
Optional “On Complete” event for triggering other gameplay actions.
Often used for encounter scripting — e.g., “spawn 5 enemies every 10 seconds for 60 seconds.”
Wave SpawnPoint
A marker used by Wave Triggers or Special Encounters to define potential spawn positions.
Features
Supports anchor tags (e.g., “Flank”, “Frontline”, “Ambush”) to help rules find themed locations.
Works with Spawn Hints and line-of-sight checks.
Can act as a fallback for procedural placement.
You can place multiple SpawnPoints per encounter space to ensure variety.
Spawn Director
Drives overall pacing and intensity. Works in tandem with an Intensity Profile to adjust difficulty dynamically.
Responsibilities
Tracks the current “Step” of intensity.
Updates alive caps, spawn rates, and density curves as the step changes.
Can advance automatically over time or manually via script (
StepUp,StepDown,SetStep).
Think of it as your game’s AI Director — deciding how hard things should feel right now.
Special Encounter Manager
Handles rule-based, conditional spawns (e.g., minibosses, rare enemies, or elite squads).
Key Features
Reads rules from a Special Profile asset.
Supports gating by pressure, player HP, step range, or cooldowns.
Integrates with Telemetry Providers to react to live gameplay data.
Can spawn at tagged points or behind line-of-sight blockers.
Perfect for injecting variety and tension into recurring encounters.
Region Population Controller
Controls per-region density and spawn mixes over time. Ideal for large worlds with many Local Area Spawners.
Responsibilities
Adjusts regional spawn counts based on the Director’s current step.
Pulls spawn mixes from a Region Spawn Library.
Can automatically unregister sparse or low-priority regions to save performance.
Provides a unified place to manage global density scaling.
Related Systems
These components often work alongside:
Profiles (Intensity, Special, and Region)
Factories (Single Player, Fusion, or PUN instantiation)
Telemetry Providers (for conditional logic and pacing feedback)
Last updated