With these systems in place, I added a very simple run function in the blueprints, input run pressed (or not pressed) and set the character speed accordingly.
I’m running into an issue in implementing the mesh free audio system for running. When I run, the sound still comes out at walking speed. I imagine it has to do with the footstep interval attached to the “Set Timer By Event”. I thought to make a branch so if left shift was pressed it would speed up the interval and if it wasn’t it wouldn’t, but it didn’t work.
You’ll want to try using the “GetKeyDown” node and pass in that key instead of your MakeInputEvent node. That’s the way I’ve always done it and it’s worked like a charm. Everything else seems good!
Sorry for the mistake! It is called “Is Input Key Down”. You’ll “Get Player Controller” and use that as the target, then use the Key variable, and you’ll use Shift/LShift/Left Shift I don’t remember the syntax.
I assume you mean like this, where if it’s pressed i’ll connect is sprinting to the top timer by event and if it’s not i’ll connect not sprinting to the bottom. How would I connect the boolean to the previous “do once”, so as to connect the whole cycle?
Maybe Link the new IsSprinting nodes into the clear and invalidate timer by handles so when it’s pressed/released it’ll reset the timer and the doOnce before starting the correct loop.
Also you do have different intervals on the walk/run floats, right? You don’t have to answer that but I’ve done way sillier. It’s always the little things we overlook.
It still plays the same speed, with those changes.
However, something I tried was plugging the pressed and release sets right into the set timer by event, and it works once I hit shift. If I don’t hit shift it won’t start with a walking sound, but once I run and go back to walking it’ll play the walk sound.
Did you try plugging the Set Is Sprinting? nodes into a Clear and Invalidate Timer By Handle node though? Both of them together? It shouldn’t matter which node as long as they both are plugged in.