I’ve found a few partial answers to this online that seem to stop at “how to recognise an input that is being held”. What I haven’t figured out though is the title of this post.
So my project is about the player manipulating events on a timeline. What I am trying to do is have it so if the player presses a button, say ‘F’ as a SINGLE PRESS it will play the timeline normally. If they HOLD that very same button down it will fast forward the timeline and stop doing so when they RELEASE the button.
Please see the highlighted parts of my blueprint, they are not currently linked but I had the doubling of play rate linked to FFORWARD pressed and reset playrate to normal and stop on FFORWARD released. This works fine as its own dedicated button but as I mentioned, I would like play and fforward to be mapped to the same button.
You can bind an Action input and an Axis Input to the same key. When the key is held down, the Axis Input will yield the value of 1 (or whatever you set it to in the project settings).
You should use a retriggerable delay there. Otherwise if you press a key, release it, and press it again, all within 0.4 seconds, the play rate will be set to 2 in 0.1 seconds after the second press.
Thank you, your suggestion set me on the right path! It wasn’t working quite as I wanted but I have come to a solution which maybe isn’t as optimised as it could be but it is working exactly as intended. So if player presses the play button it will alternate between playing and pausing depending on current state and if the player holds it down it does a fast forward until they let go. If you have any thoughts or suggestions I’d be very appreciative!