Speaking generally, I’d prefer the first option as long as ‘i’ is actually an index or other valid key. I’m not sure what the overhead is in godot, but in general you should avoid conditional statements when you have a direct access method like a key or index.
Took a walk and figured out my issue. I shouldn’t have used direction.x in the increments argument. move_toward figures that out for you.