How to implement strafing, diagonal movement, and step limiters

I can provide suggestion regarding limiting movement to one step per time the respective key is depressed:

  • Add a branch with condition ‘Is Button X pressed’ for every movement buton with respective buton instead of X and make the boolean value change to ‘true’ every time the buton is pressed, then change to ‘false’ when it is released. Continue input effect along ‘false’ branching path.
  • At the end of input effect of every buton add boolean state change to ‘true’ for as long as it’s held

I hope that helps