This is what I have now and it doesn’t work:
The way it is works is that first I check if there is button input active for forward or backwards. False is when there is none and this is the scenario that is the issue here. Then it checks if the character is going forward or backwards. Dot product compared to forward vector should be positive for forward and negative for backwards.
Then there is a if clause that triggers if the speed is above 0.02x max walk speed. No need to “steer” when near 0 speed. After that a small 0.05 addMovementInput is added.
Issue is that the movement input either does nothing or just locks the forward speed so I need to press s to stop. Or w if going backwards.