How to detect player movement?

You need to use a GetForwardSpeed node and compare the return value with 0. If it’s equal to 0 disable running.

I’m not sure how to get the blueprints to recognize if and when my player character is in motion. I’m trying to create a simple “sprinting” mechanic that is based on a resource pool that drains when the sprint key is held down. The current blueprint I have still keeps draining the resources while standing still when the key is pressed. Is there a way I can get a boolean of whether the character is moving or not? Alternatively I suppose I could just make it work only when a movement input and the sprint button is pressed, but I’m kinda wishing there’s a simpler solution.

GetForwardSpeed node only appears to work for Wheeled Vehicle movement so that doesn’t work.

However I managed to get it to work by using Get Velocity, which gives a vector, taking that vector length and comparing it with 0. Also works in the correct way now when the character is stationary while standing on a moving object.

Wow Thank you sooooo much for this!! Bohrium!

Try this: “get velocity” → “vector length”
If this is not 0 the actor should be moving.

That worked for me!

is it possible to post a picture of the solution?

Thats it woot woot!

Thank you so much ! That’s working for me .

If you only care about the input buttons being pressed, you can use Character Movement → Get Current Acceleration like this:

67771-getvelocity.jpg

!= Branch

Confirmed that this is the correct answer.

OP, you should select 's answer as the correct one so this question can be properly marked. Get Velocity and then the Vector Length is the correct solution.