private void Update() { Vector2 movementVector = rb.velocity.normalized; moving = !movementVector.Equals(Vector2.zero); if (moving && calculateDirection) //First check if movement is even happening { direction = DirectionUtility.VectorToDirection(movementVector); } if (direction == Direction.Left) { transform.localScale = new Vector3(-1, 1, 1); } else { transform.localScale = new Vector3(1, 1, 1); } }