Move CharacterBody3D just one square at a time

You don’t need move_and_slide() for grid-based movement. Use tweens instead.

This was previously discussed. I think I even posted an example: