So how does one make good gunshot sounds?

I am using Unity, but I hope the information given here can apply to a broader scope of FMOD users.

I recently watched two videos on gunshot sounds, they go in detail about making the source audio in Reaper (Which I now have), but the first uses wWise, and the second doesn’t export it into a game at all.
How To Make Awesome Gunshot Sounds for Games - Fully Automatics (feat. Islands of Nyne: BR) - YouTube,
How I Design Awesome Gun Sounds | My Sound Design Process - YouTube

These were a good starting point and I have now a few sounds consisting of “pop”, “punch”, “mech”, and “tail”. I would like to apply these in FMOD, but am not sure how. The example project also helped out a bit, but it doesn’t even fully utilize it’s own assets (The M4 event doesn’t include the head and tail sounds that it has).

In my game, I would like to design a system where each gun specifies a mech sound, the pop sound is tied to the caliber, and tail is tied to the environment of the player.
I just got FMOD yesterday, so I’m very new to most sound concepts. Please bear with me.
Any help appreciated!

There are a wide variety of ways in which you could do this. One of simplest would be to create an FMOD Studio with multiple different tracks for the mech sound, pop, and tail, add instruments for each of your audio assets to the relevant tracks, then use parameter trigger conditions to control which asset is selected for playback each time you play an instance of the event.

That being said, there is no one best way to make a good gunshot sound. You could just as easily create a different event for each gun and use parameters only to select pops and rails, or create each pop, mech, and tail variant as its own event. Every game has unique features and requirements; only you know what those requirements are, and so only you can work out how best to fulfill them.

Yes, I was more asking about the implementation of this logic. Since I’m so new to FMOD I’m not sure how to do logic for entry sounds, exit sounds, what to do for automatics, etc. An explanation would be great.

I’m afraid this is far too broad a topic to cover in a forum post. An overview of all the possible ways of constructing gun events in FMOD Studio would require us to cover the first half of the FMOD Studio User Manual, as well as the countless different details of a gunshot that a sound designer might potentially want to include in a game.

If you can specify the exact behaviour you’re trying to achieve, we will gladly answer questions about how to achieve it - but it’s going to have to be narrower in scope than “how to make gun sounds.” Try to answer this question: “When a player pushes or clicks the button that makes their character pull the trigger, exactly what do I want them to hear as a consequence?”

Or perhaps you could try making an gunshot event in FMOD Studio, and then see what problems you run into?

Yes you’re right. It is a very complex topic.
I did try to make my own gunshot in FMOD but ran into the issue of exactly that, implementation of logic :slight_smile:. Using a tutorial I was able to figure out how to make an exit parameter which created the behavior of the gun firing and tail sound coming in upon stopping, but still don’t know how to make entry sounds which only play when you start it up.

I’m also not sure if such a gun would only be suited for imprecise automatic fire (By that I mean say a minigun, where bullets fire so fast it wouldn’t be fatal if ±1 sounds played in comparison to shots fired). I certainly don’t want extra gunshots playing from something like an AK-47. But that might not even be an issue. Additionally, whether that kind of event would be suitable for semi automatic fire say from a pistol, because you play it with Instance.Start/Stop. I’m not sure what C# logic I need to use to determine when to start and stop playing it.

Finally, would a system like I described be based off a single event where you feed the caliber and gun as parameters, and it selects pop and mech there? Due to the fact that pop lengths may vary drastically.


This is fairly simple to achieve: You just need to put the entry sounds at the start of the timeline, before any loop regions - or put them on an action sheet.

Without knowing the design of your event, I’m afraid we aren’t able to answer this question.

Without knowing the design of your game and what you need the event to do, there is no way for us to tell you what code you would need.

You could build a single event that does all this, but the resulting event would be highly complex. Whether that is desirable or not depends on your game’s unique requirements - but as a general rule, simpler events with less content consume fewer resources than complex events with large amounts of content.