private void Update() { foreach (FlockAgent agent in agents) { if (agent != null) { List <Transform> neighbors = GetNeighbors(agent); Vector2 move = flockBehavior.CalculateMovement(agent, neighbors, this); move *= driveFactor; if (move.sqrMagnitude > squareMaxSpeed) { move = move.normalized * maxSpeed; } agent.Move(move); } } }