/DOTS10KUnitDemo

Unity 2021.3.6f1 and ECS stress test of 10,000 units running a flocking algorithm.

Primary LanguageShaderLab

screenshot gameplay screenshot editor screenshot performance

A performance test of Unity 2021.3.6f1 and ECS with 10,000 RTS style units. The units do not pathfind but instead run a flocking algorithm (alignment, cohesion and separation). A simple grid-based spatial partitioning system is used to reduce the search space for neighboring units. The units are drawn via a single call to Graphics.DrawMeshInstancedIndirect() where the instancing data is passed into the shader via a compute buffer.

Runs at around 80-90 frames per second with burst enabled on my machine.