Guides / How to Move 1000 Units in Unity Without Losing Performance
Unity Development Guide

How to Move 1000 Units in Unity Without Losing Performance

Explore practical ways to scale group movement in Unity, reduce per-unit work, batch calculations and keep large formations responsive.

Find the expensive work first

Large-unit scenes become slow when the same expensive calculation is repeated unnecessarily. Profile before optimizing and look for per-frame searches, allocations, repeated path requests, physics queries and neighbour scans.

Separate structural updates from movement updates

Formation layout and assignment do not normally need to be rebuilt every frame. Update structural data when the formation changes, while lightweight movement code runs at the frequency needed for responsive motion.

Avoid all-to-all neighbour checks

A naive group can compare every unit with every other unit, which grows quickly as the unit count rises. Use spatial partitioning or cached neighbour sets when local avoidance is required.

Reuse memory

Repeated allocations create garbage collection pressure. Reuse arrays, lists and temporary buffers for formation calculations whenever the data size is predictable.

Batch predictable calculations

Formation positions often depend on the same anchor transform, spacing and orientation. Calculate shared values once and reuse them for all slots instead of repeating identical work per unit.

Do not over-update navigation

Pathfinding is often much more expensive than moving toward a cached target. Avoid restarting a path because a target moved a tiny amount. Use thresholds and meaningful state changes.

Test with representative numbers

A system that feels fast with 50 units may behave very differently with 500 or 1000. Build a small stress scene and measure CPU time, allocations and frame time before deciding which optimization matters.

Related RomaSoft tool: If you want a reusable implementation rather than building the workflow from scratch, see Dynamic Formation System.

Conclusion

The most reliable Unity workflows separate responsibilities, make expensive work predictable and turn repeated checks into repeatable systems. Start with a small implementation, measure the real bottleneck and expand only when the project needs it.