Designing an Immersive Experience in Unreal Engine

Here is an update on my work in Ira: Act I, Pilgrimage and how I’m designing the sound world in Unreal Engine.

Working in Unreal Engine is awesome because there is such a terrific built-in audio system. The blueprints and sound cue system are such an upgrade from how I was working in Unity. In fact, I’m considering a project in Unity to work on, and I’m curious when I go back in if I’ll be more or less confused than before.

The sound design elements in this game are divided into five categories.

  • Background Sounds (bg): In-world sounds that play on their own without any interactive elements
  • Sound Effects (sfx): In-world sounds that are played as a reaction, or trigger.
  • Foley (fol): Sounds made by the character not objects (footsteps, clothing movement, coughing, etc.)
  • Music (mx): 2D Music playing the background of the game. Some music is caused by triggers like scenes or important moments in the game.
  • Dialogue (dx): The sounds of characters speaking to each other.

Most recently I’ve been working on sounds for the more interactive elements, but here I want to show something simple, floor creaks.

It’s an old house and old houses creak. There are a number of ways to accomplish this sound effect. In Unity with FMOD I would attach the sound to the terrain or the character with a chance for the sound to be called. For example, if the character walks on a certain wood tile, there’s a 1 in 5 chance that the floor creak is going to be called. With this type of process I would provide multiple floor creak sounds with variability in the range of pitch and volume of the sound. This way of accomplishing the sound effect is great for large maps. In the Viking Village and the Sun Temple I used this process because there was way too much space to cover with box triggers. In this section of Ira, however, the space to play in is relatively small, so simple triggers are easy to place.

The boxes you see in the graphic above are an example of how these types of sound triggers are placed. As the character passes through the trigger, the sound cue is called.

The sound cue for the floor creaks are really simple. As you can see, I have nine different sounds and ten spots that can be called randomly when the character triggers the sound. This isn’t the same cue for all of the house, but in the attic there is a 90% chance that passing through the trigger will call a sound (because one slot is empty). In other parts of the house I use other sounds or additional empty slots because different floors behave differently in reality. Additionally, I use a Modulator to add some random variety in pitch and volume to the floor creaks.

This is a really simple way of accomplishing variety in sound design with the use of box triggers. The blueprint for the trigger is very simple as well. It’s just an Event ActorBeginOverlap > Do Once > Play Sound At Location.

In sound design there are a hundred different ways to accomplish the same goal. This is just one of many ideas to implement simple sound triggers into your Unreal game.