Grid based movement that actually works

I don’t know if there is a similar thread, I’ve searched and found anything similar. I would like to post it because, in my experience, many people ask for a grid based movement but not many of them find a solution and even searching with Google looks there aren’t clear tutorials about this subject. I preferred post this in “Community” section because is more a solution than an actual help request, so I didn’t choose “How do I…?” section.

I’ve found a very nice way to make a 4-direction grid based movement, thanks to GDevelop Tutorials videos:

There are two problems. The first is variables like Speed and Distance can’t be changed easily, as they need to be calculated between them (as shown in the second video) instead change each parameter by their own. The second is this tutorial doesn’t cover diagonals.

GDevelop Tutorials’ tutorial works better than the “Pixel perfect movement” behaviour already in GDevelop. The latter have two problems: character seems doesn’t move smoothly and its movement between a tile to another can be broke moving in another direction, making it the “change grid” issue, although the character re-centre itself in grid anyway.

There’s another from RapaGamez but looks a bit complicated, especially because I can’t figure how to make the “Do” variable. Anyway, I post it just to let you know: