The EnemyMassesCombatEffectZone component creates area-of-effect zones that periodically apply status effects or healing to agents within their radius. It supports cyclic activation, faction filtering, VFX/audio feedback, and animated radius visualization.
Effect Modes: Apply status effects (buffs, debuffs, DoTs, CC) or instant healing
Cyclic Activation: Configure active/inactive cycles for pulsing zones
Faction Filtering: Target all factions, specific factions, or exclude factions
VFX Integration: Spawn effects on activation, deactivation, while active, and on agent presence
Audio Cues: One-shot sounds and looping audio for activation states
Animated Radius Line: Optional LineRenderer with pulse animation and fade effects
Editor Gizmos: Visual preview of zone radius with effect-based coloring
Create an empty GameObject in your scene
Add the EnemyMassesCombatEffectZone component (or use GameObject > Enemy Masses > Combat > Combat Effect Zone)
Set the Radius for the effect area
Choose your Effect Mode (StatusEffect or InstantHeal)
Configure the effect type and values
Settings Reference
Setting
Description
Default
Optional controller reference (uses Instance if empty)
Setting
Description
Default
Radius of the effect zone
Setting
Description
Default
Activate automatically on scene start
Seconds before first activation
How long the zone stays active (0 = always)
How often to apply effects while active
Effect Settings
Setting
Description
Default
StatusEffect or InstantHeal
Status effect type to apply
Duration of the status effect
Value (damage/heal per tick, or multiplier)
Tick interval for DoT/HoT effects
Heal amount (InstantHeal mode only)
Setting
Description
Default
AllFactions, OnlyListedFactions, or ExcludeListedFactions
List of EnemyCrowd factions for filtering
Status Effect Mode
Applies a status effect to all valid agents in the radius:
Status effects persist for their configured duration, even after the agent leaves the zone.
Effect Type
Category
Example Use
Instant Heal Mode
Directly heals agents without applying a status effect:
Cyclic Activation
Zones can pulse on and off for interesting gameplay:
Active Duration = 3, Inactive Duration = 10
Zone pulses: 3s on, 10s off
Active Duration = 0, Inactive Duration = any
Zone always active (no cycling)
Active Duration > 0, Inactive Duration = 0
Activates once, then stops
Faction Filtering
Control which agents are affected by the zone:
AllFactions (Default)
All agents within radius are affected, regardless of faction.
OnlyListedFactions
Only agents from factions in the Faction Filter list are affected:
ExcludeListedFactions
All agents EXCEPT those from factions in the list are affected:
Setting
Description
Default
Played when zone activates
Played when zone deactivates
Played while zone is active
Seconds between active VFX spawns (0 = once)
Played when agents are in radius
Seconds between presence VFX spawns
Scale multiplier for all zone VFX
Position offset for VFX spawns
Audio Cue Properties
Each audio cue has these settings:
Property
Description
Default
One-shot when zone activates
One-shot when zone deactivates
Looping while zone is active
Looping while agents are in radius
Radius Line Renderer
Visualize the zone radius with an animated LineRenderer:
Setting
Description
Default
LineRenderer component to use
Circle approximation segments
Update Line Renderer In Editor
Update Line Renderer Every Frame
Animation Settings
Setting
Description
Default
Animate Radius Line In Editor
Radius Line Fade Duration
Setting Up the Line Renderer
Add a LineRenderer component to the zone GameObject (or a child)
Configure the line material and width
Assign the LineRenderer to Radius Line Renderer
The component will automatically:
Draw a circle matching the zone radius
Animate alpha and width with a pulsing effect
Fade in when the zone activates
Fade out when the zone deactivates
Runtime Control
True if zone is currently in active phase
True if zone has been started
Scripting Examples
Basic Damage Zone
Healing Zone for Player Faction Only
Trap Zone with Trigger
Dynamic Zone Radius
Cyclic Buff Zone
The component displays visual feedback in the Scene view:
Semi-transparent fill showing zone area
Automatic Gizmo Colors
Colors are automatically chosen based on effect type:
Use Gizmo Color to override with a custom color.
Common Use Cases
Healing Fountain
Fire Trap (Pulsing)
Stun Trap (Single Activation)
Apply Interval: Increase for large zones or many agents (0.5s - 2s)
VFX Intervals: Don't spawn VFX every frame; use intervals of 0.5s or more
Radius Line Segments: Lower values (16-32) are fine for smaller zones
Update Every Frame: Disable if zone position never changes
EnemyMassesCrowdController - Core crowd management
Status Effect System - Status effect types and categories
RTS UI Components - Status effect display UI