How would I stop my press input from being used twice?

Hi there I have a sprint system that I created. When you press Sprint you start Sprinting and once you slow down under 25 you stop sprinting, but problem is when you press Sprint again while Sprinting it stops.

I would like it only to stop sprinting when character is going under 25.

Please see sprinting blueprint below:

Any help is very much appreciated

What’s wrong with:

EDIT: Unless you want a graceful decrease from sprinting to walking. But then do you want that despite the key being held, or when the key is released?

What I created was more of a toggle sprint to work with the Gamepad’s left analog stick button and space bar.

I just noticed when my wife was testing it out on the Gamepad she pressed the sprint button a ton of times so she keeps running and stopping, I was just wondering if there is a way block input until you speed is under 25.

I don’t mind have a full toggle system for the space bar but not for the Gamepad.

Thank you!

In InputActionSprint, after branch true, you can check for your speed again, and only stop if speed is lower than 25. You could have something like this set up for better readability (optional):

  1. Put everything after tick to an event like CheckSprintSpeed()

  2. Put everything after branch true in InputActionSprint to StopSprinting

That worked!!!

Thank you!!!

Had a similar problem so I’m leaving a memo here.

I was using an InputAction in a blueprint for a Vive controller’s trackpad touch, and when touching, it was detecting the touch twice.

It happens I also had an InputAxis defined in the Project Settings/Input for the same trackpad (although I was not using it anywhere), and after I deleted it, it stopped detecting the Action twice, and started behaving normally (only one detection).

For the time being I think it is solved, but I still don’t get it why it was detecting it though… I was using the Action and not the Axis…