Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do you pros out there implement footstep sounds in so that they're synced with character animation?

I have an idea in mind: an FMOD event that has two footstep playback triggers, and a parameter that controls how fast each plays back in sequence, and the event is triggered as soon as the animation is on a frame (assuming the programmer handling animation will post an event or update a param for this) where you could reasonably assume the character's foot has hit the ground.

Is this overkill, or assuming too much accuracy out of an engine?

This is not a specific project, but I am working on integrating FMOD Designer support into an existing engine and am thinking of some general effects to implement while the audio spec is being figured out. Also, I mention FMOD since that's what we're using, but if anyone's done similar syncing tasks in Wwise, XACT or anything else (or heck, even if you hand-coded it) and could share their experiences that'd be great to hear as well.

share|improve this question
up vote 11 down vote accepted

The way I typically do that is set up animation events that are hooked up to each frame that would require a footstep sound. So in the walk animation there will typically be two steps, so at those frames I tell whatever sound system I'm using to play a random step sound. (In your case, I think it's just a regular fmod event.)

Another way I've seen it done is by using your engine's physics engine. Attach colliders to your characters feet (parent them to the bones or something), and when they hit the ground play a step sound in the same way. I've personally never done it that way, though.

Either way, it's less "how do I do this in FMOD", and more "how do I do this with our animation or physics system".

One thing that sound guys will tell you is that "random sounds" isn't just picking from your sound randomly. The way you're supposed to do it is by shuffling all of your sounds from whatever bank you're currently picking from, and then go through that shuffled list in order. That way you don't run into the issue where your random number generator can get into a situation where it plays the same sound multiple times in a row.

share|improve this answer
That is awesome how streamlined it ends up being. Good to know that at the end of the day there's still a fairly big chunk of engineering to do handling the logic of audio playback despite the middleware available. – michael.bartnett Jan 24 '11 at 14:36

Adding a "play sound" tag at specific keyframes in the walk animation is how I've always done it.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.