MR_

POLAND, 2026

Contact
Menu

Flying AI Swarm

Formation strategies, pooled agents and swarm behaviour in Unity, with inspectable C# source.

ENGINEERING X-RAY
Source-derived schematic of FormationFactory and ObjectPoolBase; not a gameplay capture

SOURCE-DERIVED SCHEMATIC / NO GAMEPLAY CAPTURE

Flying AI Swarm

Watch the result. Explore the system, evidence & code.

PROJECT AT A GLANCE

Project scope

Gameplay systems · Formation strategies · Object pooling. Individual responsibilities are not yet documented.

Coordinating a group of agents

Flying AI Swarm is a Unity project for flying-agent behaviour and formation navigation. Its public repository contains C# flocking jobs, formation strategies, agent state classes and object pools. The README describes a Jobs/Burst pipeline; the detailed observations below are limited to the two source files inspected for this portfolio.

Formation strategies

FormationFactory.Create returns an IFormation. The configuration overload chooses between V, Circle, Grid, Line, Diamond and Custom implementations. A second overload accepts an enum and creates the corresponding strategy with default settings. This gives callers a shared contract while keeping each layout implementation separate.

The SOURCE tab reproduces an actual excerpt from FormationFactory.cs at revision 54c2630.

Object lifetime

ObjectPoolBase<T> maintains an available Queue<T> and an in-use HashSet<T>. Spawn dequeues an instance or expands within the configured limit, sets its transform, enables it and raises an event. Despawn checks membership, disables the object, runs the reset hook and returns it to the queue.

The pool also exposes separate creation, pre-spawn and despawn hooks. That separation matters because reusing an object requires resetting its state, not merely keeping the allocation alive.

A concrete trade-off

DespawnAll copies the active set into a new List<T> before iterating. The copy allows Despawn to remove items from the original set during the loop. It also allocates a temporary list. This is a source observation, not a measured frame-time regression or a reproduced production incident.

Inspect ObjectPoolBase.cs at the same revision, or use the object-pooling lab to explore the simpler construction-count trade-off.

Measurement boundary

The README includes performance claims, but no profiler trace was imported or reproduced during this portfolio audit. This page therefore publishes no FPS, allocation-rate or scaling result. The schematic above is derived from source and is clearly labelled; it is not a fabricated runtime screenshot.

Scope and contribution

The repository belongs to Michael’s public profile. The source is inspectable at the linked revision. Team composition, individual authorship boundaries and runtime testing history have not been independently established here.

Evidence record

The schematic and source excerpts are based on the public repository at the revision linked above.Individual ownership boundaries, testing history, failure reports and benchmark measurements have not been supplied.

System diagrams on this page describe documented capabilities. Profile and Source state explicitly which supporting materials are available.

Continue exploring

Browse the project archive or run an engineering experiment.