Things of interest (to me at least):
As Xianny did below, I used a direction variable (integer) to determine the direction.
I’ve done a lot of recfactoring into functions, which I hope helps with organization.
If I set enemySpeed within the declaration, the formation doesn’t move. If, instead, I set the speed in the Start() (as I’ve done here) everything works. Is there a reason for this?