Best option for flocking? (AI / Homing Projectiles / BP ?)

Today I observed the flock of Abzu and found some features:

A. almost all kinds of fish contains 2 animations:

1.swim action(the swing of tails) that working all the time.
2.open and close mouse that flip Every few seconds(I forgot to check whether the interval is fixed)

The swim animation of each fish in 1 flock is not in the same pace(some swing left while some right, but there do have several are in the same pace). That’s my previous question:How can 1 morph mat handle this delay if the fish comes from 1 ism

B. The flock is not fixed

flock A could break into B & C, C may merge into D…the species is fixed, but 1 kind of flock could contain several kinds of fish

so the “background simulation thread” maybe something not only control boid, but also the flocks