# Change footstep sound based on material in UE4 Blueprint

**URL:** <https://qa.fmod.com/t/change-footstep-sound-based-on-material-in-ue4-blueprint/14354>\
**Category:** Unreal Engine\
**Created:** [February 6, 2019, 7:42am UTC](https://qa.fmod.com/t/change-footstep-sound-based-on-material-in-ue4-blueprint/14354 "2019-02-06T07:42:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![PondusEin](https://avatars.discourse-cdn.com/v4/letter/p/d26b3c/32.png) [@PondusEin](https://qa.fmod.com/u/PondusEin)\
**Post date:** [February 6, 2019, 7:42am UTC](https://qa.fmod.com/t/change-footstep-sound-based-on-material-in-ue4-blueprint/14354/1 "2019-02-06T07:42:14Z")

</div>

Hello everybody.

I’m trying to set up my footsteps sounds to change on the material that is on the level, so that I can use only one event for footsteps, but multiple parameters on one event (E.g Celest fmod project --\> Madeline --\> footsteps --\> surface\_index) laid out on the ground for UE4. I’ve searched earlier Q&A on this site and found this [Change footstep sound based on material](https://qa.fmod.com/t/change-footstep-sound-based-on-material/14027)

When it got to the solution, I’m not getting where they mean that I should put the FMOD Events and FMOD Set Parameter on the blueprint. Could anyone explain or show where exactly how my blueprint is supposed to be?

---

<div class="post-metadata">

**Author:** ![Eneco](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/eneco/32/6046_2.png) [@Eneco](https://qa.fmod.com/u/Eneco)\
**Post date:** [February 6, 2019, 9:08am UTC](https://qa.fmod.com/t/change-footstep-sound-based-on-material-in-ue4-blueprint/14354/2 "2019-02-06T09:08:29Z")

</div>

Hey there,

I started the thread you were referring to.

Whenever a sound is linked to an animation, everything goes within the blueprint of that animation (as long as it is a one-shot sound). First of all you have to create markers on the timeline of the animation when you want your sound to be triggered. Name them properly, because you need to refer to them later. After that you trigger a “Play Event Attached” and a “Set Parameter” node with an “AnimNotify” node, that is referring to your markers (it has the marker’s name on it).

That’s the basic way of triggering a sound, that is connected with an animation.

---

<div class="post-metadata">

**Author:** ![PondusEin](https://avatars.discourse-cdn.com/v4/letter/p/d26b3c/32.png) [@PondusEin](https://qa.fmod.com/u/PondusEin)\
**Post date:** [February 6, 2019, 10:31am UTC](https://qa.fmod.com/t/change-footstep-sound-based-on-material-in-ue4-blueprint/14354/3 "2019-02-06T10:31:00Z")

</div>

Hi Eneco.

I understand the notifymarker in the animations, and such. But the blueprint setup is still kinda confusing for me. Would you kindly send a picture of the blueprint or a blueprint link to how this is set up?

---

<div class="post-metadata">

**Author:** ![PondusEin](https://avatars.discourse-cdn.com/v4/letter/p/d26b3c/32.png) [@PondusEin](https://qa.fmod.com/u/PondusEin)\
**Post date:** [February 8, 2019, 7:57pm UTC](https://qa.fmod.com/t/change-footstep-sound-based-on-material-in-ue4-blueprint/14354/4 "2019-02-08T19:57:09Z")

</div>

Found the solution, made a public Blueprint people can copy: [Change material footsteps Character posted by anonymous | blueprintUE | PasteBin For Unreal Engine](https://blueprintue.com/blueprint/oj0eebr4/)

It’s almost like the one bohdonsayre\_fs, and what he said is relevant here as well:

“In FMOD, use a single event with one parameter called SurfaceType, and place MultiInstruments on the SurfaceType timeline (not on the main timeline), at each integer value (0, 1, 2, …) that match the SurfaceTypes you defined in ProjectSettings (the Celeste demo project from FMODs site has an example of this setup)”

> [@Change footstep sound based on material](https://qa.fmod.com/t/change-footstep-sound-based-on-material/14027/6):
>
> Here’s a solution that uses a custom AnimNotify Blueprint, and isn’t dependent on the animation blueprint or other classes: Setup SurfaceTypes in ProjectSettings Create Blueprint class based on AnimNotify named FootstepNotify In ReceivedNotify of the Blueprint, perform the line trace against visibility, get surface type, play event at location (with AutoPlay disabled), set surface type parameter on the event, then play the event (See blueprint graph below) In FMOD, use a single event with one …
