Hey guys, I have this kind of working but I feel like I’m doing it inefficiently, or I’m missing something. It’s not working exactly the way I’d want.
I’ve set up a state machine on my first person arms, which looks like the image below - this is in my First Person viewarms Anim BP. Also in this Anim BP, I’m casting to the Player Character BP in the Event Graph and grabbing the status of some booleans to set the different states here. For example, Right Mouse button pressed sets “isAiming” to true, which puts us into ADS_Loop, etc.
Here’s what I’m trying to solve: I am aiming down sights (ADS) with right mouse button. I am moving, so I’m in the state ADS_Walk_Loop. Looks great. I press the LShift to sprint, but nothing changes, because in my Right Mouse button “Pressed” pin I’ve set a boolean “CanSprint” to false (it resets to true on “Released”). If let go of the Right Mouse button, with LShift still held down, I am still just walking. What I’d want is for the system to pick up that I had LShift held down, and automatically put me into sprint when I release the Right Mouse button.
I feel like I’m not tracking my inputs correctly or I’m not capturing them in the right place in my Player BP. Has anyone else encountered this or achieved what I’m describing a different way? Any help or advice would be much appreciated!