Mark

All work

in progress2026-Present

Godot Swarm

A C++ GDExtension that provides an all-in-one solution for handling thousands of physics simulated, animated, and pathfinding entities in Godot.

  • C++
  • GDScript
  • Godot
  • GDExtension
  • godot-cpp
50,000
Active Entities
87 FPS
sustained FPS
11.5 ms
frame time

All entities in the scene are animated.The lag and blurriness is an artifact of the video not the scene.

Benchmark

  • A tight cluster of flyer entities swarming a target indoor.

  • ~50,000 entities pathfinding through a maze to reach the blue target.

  • A swarm of multiple types of entities navigating through open terrain to reach a point.

  • Another swarm of ground and flying entities swarming a target.

Metrics

Desktop
OS
Windows
CPU
Ryzen 7 5800X, 16 threads
GPU
Radeon RX 6900 XT
RAM
64 GB
Score 20,777
ProfileEntitiesAvg FPSFrame time1% lowMax timeMemory
Base5001,133.550.882 ms3.333 ms141.869 ms984.4 MB
Light4,991591.451.691 ms5.430 ms18.901 ms987.5 MB
Normal9,941356.632.804 ms8.670 ms21.371 ms989.2 MB
Heavy22,168176.985.650 ms16.021 ms35.860 ms991.5 MB
Extremeshown above48,51962.0116.127 ms62.093 ms148.864 ms999.1 MB
Laptop
OS
Linux
CPU
Ryzen 7 PRO 7840U, 16 threads
GPU
Radeon 780M
RAM
30 GB
Score 6,788
ProfileEntitiesAvg FPSFrame time1% lowMax timeMemory
Base500323.1013.696 ms112.282 ms112.282 ms999.0 MB
Light4,998146.1613.267 ms41.008 ms46.790 ms1,001.0 MB
Normal10,00090.7319.057 ms47.318 ms48.897 ms1,001.5 MB
Heavy22,49746.4332.303 ms59.896 ms65.837 ms1,004.1 MB
Extreme49,99416.3894.177 ms181.847 ms181.847 ms1,012.1 MB

Production games will only ever reach the Light profile in an actual scenario, and even then 5,000 entiites should be a super rare occurence. These benchmarks go up to 50,000 entities for the sake of stress testing and profiling.

Technical details

More work