Intensity Profile
(used by SpawnDirector)
Overview
An Intensity Profile defines how your spawning system escalates or relaxes over time. It contains a sequence of steps, each step modifying spawn rules such as rate, concurrency, and pacing.
The SpawnDirector
component reads this profile and advances through its steps either manually (via code/events) or automatically (based on time).
This lets you design pacing curves like:
A slow trickle at the start of a mission
Increasing pressure as players progress
A high-chaos finale or boss phase

Properties
Advance Mode
Determines how steps advance: • Manual – you control step progression via code/events. • AutoByTime – profile automatically advances after a set time.
Seconds Per Step
Duration (in seconds) for each step when AutoByTime is active.
Steps (List)
The ordered sequence of pacing steps. Each step defines:
• Concurrent Alive Cap
Maximum enemies alive at once (across all spawners).
• Global Spawn Window (Min/Max)
Delay between spawns. Narrow ranges = faster pacing.
• Spawn Rate Multiplier
Scales spawn rates for all active spawners.
• Wave Rate Multiplier
Scales wave timing (if spawners use wave logic).
How to Use
Create a Profile
Right-click in Project → Create → Runtime Spawner → Intensity Profile.
Assign It
Attach a
SpawnDirector
to a GameObject with aRuntimeSpawner
.Assign your Intensity Profile in the inspector.
Configure Steps
Add steps to the list.
Tune values to match your desired pacing curve (e.g., slow → steady → chaotic).
Test
Enter Play Mode.
If Advance Mode = AutoByTime, the profile will progress through steps on its own.
If Manual, you can advance steps via script calls (
StepUp
,StepDown
,SetStep
).
Example
Step 0: 5 alive cap, spawn every 5–7s → Calm start
Step 1: 10 alive cap, spawn every 3–5s → Escalation
Step 2: 20 alive cap, spawn every 1–2s → Final chaos
This curve mimics the pacing of games like Left 4 Dead, where difficulty ramps dynamically.
Also see
Last updated