# Different surface footsteps

**URL:** <https://qa.fmod.com/t/different-surface-footsteps/13252>\
**Category:** Unity\
**Created:** [June 26, 2017, 1:45pm UTC](https://qa.fmod.com/t/different-surface-footsteps/13252 "2017-06-26T13:45:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tuann91](https://avatars.discourse-cdn.com/v4/letter/t/8e8cbc/32.png) [@tuann91](https://qa.fmod.com/u/tuann91)\
**Post date:** [June 26, 2017, 1:45pm UTC](https://qa.fmod.com/t/different-surface-footsteps/13252/1 "2017-06-26T13:45:14Z")

</div>

Just to clear my mind. Which is the best way to approach footsteps on different terrains for a third person character using animation events and FMOD? 🙂 Thanks and have a great day!

PS: the question relates to scripting of course 🙂

---

<div class="post-metadata">

**Author:** ![richard\_simms](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/richard_simms/32/261_2.png) [@richard\_simms](https://qa.fmod.com/u/richard_simms)\
**Post date:** [June 27, 2017, 12:42am UTC](https://qa.fmod.com/t/different-surface-footsteps/13252/2 "2017-06-27T00:42:16Z")

</div>

Hi Tuan,

There’s not really a “best way” for approaching this, just whatever works for you and/or your team.

Here are three methods for you to think about, but you can use others too.

1. Have all surface footsteps playing on the timeline at the same time in an event. Use game parameters and automation to mute any unwanted sounds. This is great for blending multiple footsteps sounds (eg. wet sand, gravel on metal, etc.). You can see an example in our Viking Village tutorial ([https://youtu.be/DI72MHPfh0k](https://youtu.be/DI72MHPfh0k)).
2. Use a game parameter to determine what surface your character is on and have mutli sound modules on that game parameter. When the event is played with those parameter settings, only that surface’s footstep will play.
3. Use a game parameter in conjunction with transition markers and trigger conditions to determine which surface’s footsteps are being played. You can see an example of this in our example project (Character \> Footsteps \> Footsteps) which is installed with FMOD Studio.

In terms of scripting, the only command you will really need is the EventInstance::setParameterValue.

[https://www.fmod.org/documentation/#content/generated/FMOD\_Studio\_EventInstance\_SetParameterValue.html](https://www.fmod.org/documentation/#content/generated/FMOD_Studio_EventInstance_SetParameterValue.html)

[https://www.fmod.org/documentation#content/generated/engine\_new\_unity/scripting.html](https://www.fmod.org/documentation#content/generated/engine_new_unity/scripting.html)

Thanks,  
Richard

---

<div class="post-metadata">

**Author:** ![tuann91](https://avatars.discourse-cdn.com/v4/letter/t/8e8cbc/32.png) [@tuann91](https://qa.fmod.com/u/tuann91)\
**Post date:** [June 27, 2017, 10:38am UTC](https://qa.fmod.com/t/different-surface-footsteps/13252/3 "2017-06-27T10:38:36Z")

</div>

> [@](#):
>
> Hi Tuan,
> 
> There’s not really a “best way” for approaching this, just whatever works for you and/or your team.
> 
> Here are three methods for you to think about, but you can use others too.
> 
> 1. Have all surface footsteps playing on the timeline at the same time in an event. Use game parameters and automation to mute any unwanted sounds. This is great for blending multiple footsteps sounds (eg. wet sand, gravel on metal, etc.). You can see an example in our Viking Village tutorial ([https://youtu.be/DI72MHPfh0k](https://youtu.be/DI72MHPfh0k)).
> 2. Use a game parameter to determine what surface your character is on and have mutli sound modules on that game parameter. When the event is played with those parameter settings, only that surface’s footstep will play.
> 3. Use a game parameter in conjunction with transition markers and trigger conditions to determine which surface’s footsteps are being played. You can see an example of this in our example project (Character \> Footsteps \> Footsteps) which is installed with FMOD Studio.
> 
> In terms of scripting, the only command you will really need is the EventInstance::setParameterValue.
> 
> [https://www.fmod.org/documentation/#content/generated/FMOD\_Studio\_EventInstance\_SetParameterValue.html](https://www.fmod.org/documentation/#content/generated/FMOD_Studio_EventInstance_SetParameterValue.html)
> 
> [https://www.fmod.org/documentation#content/generated/engine\_new\_unity/scripting.html](https://www.fmod.org/documentation#content/generated/engine_new_unity/scripting.html)
> 
> Thanks,  
> Richard

Thanks! that was helpful
