TopDownMovement: Player not staying snapped to 24x24 grid after heavy WASD movement (no diagonal or rotation)

I’m trying to make my player move perfectly on a 24x24 grid using TopDownMovement behavior.
I want the player to stay snapped after lots of random WASD spam without drifting off the grid.


What is the expected result
The player should always land exactly on 24x24 spots after any movement. No slow drift, no tiny offset over time.


What is the actual result
After spamming WASD keys in different directions, the player eventually leaves the grid by a few pixels.
Rotation is disabled.
Diagonal movement is disabled.
Grid size is 24x24 pixels.


Project files (optional)
(→ If you want, you can zip a small .zip file with just the player moving and breaking off the grid. Not required but helps.)

Cannot reproduce

I checked everything, and I have the simplest settings. I even created cubes with default settings. I cannot fix the issue, but I have found a way to prevent it by not pressing the left, W, and A or D keys at the same time, as well as avoiding the combination of pressing S with A or D. Additionally, I want to know if there is an action for “release key,” rather than the platformer ledge release.

Problem solved