In order to generate a large amount of characters, the fish shoals were generated using a modified version of UE 5.1's Niagara Boid, which now accounts for point attraction so that I can direct where the swarm would need to go and control them in the sequencer.
Several characters were also programmed using UE blueprint and nodes system to be able to navigate throughout the level.
The character AI programs them to follow and face an invisible object, which was animated through a spline, simulating random movement while preventing potential inaccuracy.
Procedural vertex animation using materials on fish (based on Bear Teacher's video series: https://youtu.be/5KH8X28vY9A?si=WdHqj1NEuWUpDnO1)