Crowd & Swarm Simulation
Massive Swarm System
1000+ convincing enemy agents at frame rate — drop it in, configure a few settings, ship.
Coming soon to the Unity Asset Store Documentation →
Who it’s for
If your game lives or dies on the number of enemies on screen, MSS is built for you. It is a centralized swarm simulation for classic GameObject projects — not a DOTS/ECS package, not a NavMeshAgent system, and not a general AI framework. It does one thing well: move huge enemy groups convincingly, fast.
Why it scales
Three architectural choices do most of the work.
- No per-agent
Update. A singleSwarmManagerticks the entire swarm in oneFixedUpdateloop — no per-GameObject scheduling overhead. - Data and visuals are decoupled. The simulation runs on flat arrays; pooled
visual GameObjects follow the data. Render with
MeshRenderer,Graphics.DrawMeshInstanced, or VAT without touching simulation code. - Importance LOD. Distant agents pay less per step, so a pile-on around the player never explodes the frame budget.
What’s inside
Performance
- 1000+ agents at frame rate from a single centralized simulation tick.
- Importance LOD so distant agents cost less.
- Decoupled simulation and rendering — MeshRenderer, GPU instancing, or VAT.
Behaviors & navigation
- Opinionated default behaviors: Approach & Surround, Personal Space, Close-Range Pressure, Orbit, Retreat, and more.
- Surface Flow Field navigation for levels with walls, stairs, and uneven floors.
Setup & tooling
- Scene-view overlay and one-click setup — your first working swarm in under five minutes.
- Shape Spawners and a Spawner Director for waves, ambushes, and continuously maintained hordes.
- Agent Debugger and a live stats overlay to measure and tune on-device.
Requirements
- Unity 2022.3 LTS or later (Unity 6 LTS supported).
- Universal Render Pipeline (URP) for the included swarm visuals — the VAT shader is URP-only. The simulation core itself is render-pipeline-agnostic if you supply your own materials.
- No extra packages for the core runtime or the StarterKit sample. The FullDemo sample additionally uses TextMeshPro and Cinemachine.