Why do my footsteps stop working after death?

I followed this tutorial:

And got some nice footsteps going, but when my character dies and respawns they stop.

Begin Play:

Footstep Events:

Death:

Honestly, this tutorial is very bad and I don’t believe you should do it this way. I think the right approach would be doing this using animation notify on your animations (when your feet actually hits the floor) and then have your asset to decide which sound to play based on surface type.

I don’t have much experience with this (please correct me if my previous statement is wrong) but I suggest you scrap this idea all together and use animation notify instead.

Yes As @DonBusso mentioned the right or design wise better way is to do this with anim notify events. Where you can detect floor types, do dıfferent sounds or spawn decals dependıng on surface type even more. The tutorıal you followed have some correct points like, raycasting surface physical material and branch through that however detection timer is a horrible approach putting unneccessary load which serves no purpose.

Follow https://www.youtube.com/watch?v=q_iYRCBkxBs&t=312s something like this one.

When it comes to your question why after death there is no footstep?
Your actor is dead
Thus you destroy actor
There is no actor thus there is no blueprint available in world.
thus your script is not valid.

If you just want to bypass your problem
you can just remove destroy and add unpossess or disable controls

1 Like

@RedGrimnir Thank you :slight_smile:

I took a moment and I actually did this following Gorka’s tutorial. I’m not a big fun of his tutorials as they might not be the best for new starters but it actually gets the job done.

Video link provided by @RedGrimnir seems quite good too, using Data Assets (they are so cool!), which is even better comparing to what Gorka was showing.

No point trying to fix a broken thing. It could be a number of things. I certainly do not like the use for timer function as it’s completely unnecessary. Sometimes it’s just best to scrap it and start over.

Please let us know what you come up with!

But my controller does not have legs. It is a set of disembodied arms.

But when I reload without the destroy the footsteps still do not return

That’s irrelevant. You can just space these out in your animation for arms. In facts that is how I did it because I didn’t have 3rd person project I could do this in. Just test it out and see if it feels natural, comparing to your movement speed.

[Edit]
I’m not sure if that’s the case but I believe you should always clean and invalidate your timers before destroying the actor? You can promote the output of your timer to a variable, this will be your handle.
Put it on the graph before you destroy the actor and call “clear and invalidate…”

Aaah, didn’t even consider that. Thank you! I’ll let you know if this works out.

Huzzah! Scrapping and doing Anim Notify instead fixed all my problems. (Some I didn’t even know I had) I wish I could mark two posts as solutions because that tutorial was pretty dang good. I also wish I could tell sooner whether or not the tutorial I’m following’s any good or not, as this is like, the 5th time I’ve had to do something like this? And I doubt it’ll be the last.

2 Likes