Here’s what I would do:
-
I would define all the movement keys as either action or axis event in the project settings instead of hardcoding them. For your requirements an Axis mapping seems OK.
-
You can now add the movement axis event to your Pawn blueprint. An axis event will execute every frame, but if you want to move 100 units in an interval you should add a delay node right after the event which is set to this interval which blocks anything that is faster.
-
Specify your grid as an integer vector, so that you can move 1, 2, 3 points X or Y without specifying the unit yet, this makes it easier to work with and you can specify a unit later like 1 meter or 50 cm later.
-
There are easier ways to interpolate actor movement than by doing so through a timeline, timer or tick. There are even existing actor components like InterpMovementTo component which automate this.
-
Take a look on the marketplace for plugin that auto formats blueprints as it will save you tons of time. Saying this because no one told me to do so when I started and I almost got PTSD formatting the stuff manually but I can see you need it.