Metasounds and how they can be used in Unreal.


Howdy there!

My name is Ashlyn, I am one of the artists on Xenex. Through the development of Xenex what I have learned so far is that sound and user interface is absolutely crucial to the world we are crafting.  This is crucial because while our game is very cute, the missions still need to give the player some form of unease and the sounds need to match this universe.

Through this post, I will be highlighting an amazing built in tool in Unreal Engine 5 called MetaSounds! Now what are MetaSounds? MetaSounds are a form of audio editing already in Unreal think of it as shaders for sounds, what this can do is, make an array of sounds to play at random, randomize the pitch of sounds and how the sound is heard when it close or far away. Note: you will still have to edit the audio outside of MetaSounds, using an audio editing software of your choice, for me personally I use Audacity. For collecting sound effects I use Pixabay. 

For this I will talk about how I was able to create a randomized pitch and array of sounds for our button clicks in Xenex.

First, find about three or four button click sounds on a royalty free sound effect source, and of course trim them down to size especially if they play long. Drop those files into your content browser in Unreal. 

I personally used, six sounds. 
After adding in the audio files, Right-Click in the content browser in an empty space and find audio, once audio is found select MetaSound Source and it will open up a blank MetaSound. 


Once it is open there is a crucial step that will determine how your sound interacts with the world, that is choosing for the sound to be mono or stereo. For buttons and things the player will interact with Stereo is the way to go. 


You can change this output format by clicking MetaSound, clicking the drop down next to Output format. This is something that should be done before you get started. Having the wrong one will not break the sound but can cause the sound to not play as intended and not give the proper play feedback that is desired. 

So now it is time to start making the sound, well currently there is a blank MetaSound with no wave player. To create a wave player you must right click and type in wave player and select the respective one for the type of sound, either stereo or mono. For this we will use Stereo. Once the wave player is placed into the space, proceed to attach the respective nodes to their end.



You could just drag the sound into the wave asset spot for the wave player and be done. Though we want this to randomize sound and pitch, to add a bit of flare to the buttons.

Lets create an array variable with the sounds, go to the variable and click the plus button, check the isArray button along with changing it from a float to a wave asset. 


Now this image is missing something, our sounds. There is a handy dandy little cheat to add them in which is shift clicking the sounds you want and dragging them into the default value. Which makes us work smarter and not harder!


Now that we finally how our sounds in we can get this ball rolling! Now is where the sound shader name for MetaSounds comes in. 


What is needed now is to  create a random float through, right clicking and typing in Random and selecting Random Float, after doing so feed the value into the pitch shift node. For this I did a min of -1.0 and a max of 10.0. This will make the sound pitch shift between this range randomly making it sound higher or lower. Playing with this until you are happy with it is crucial, and testing it inside of the game. Always test your sounds! The next part of this is right-clicking and adding in a random get (WaveAsset Array) with that drag in the array variable made earlier and contact the array node to the Is Array node. Then feed everything through each other. Congrats we have sound! 

MetaSound is a shader for sounds, which is such a useful tool. In all honesty I found out about through development of this game trying to find the best way to make some form of sound manager and this was such an amazing find! Xenex has been such a useful way to learn more about Unreal, and youtube has become such a great resource to find information necessary. 

Good luck out there! - Ashlyn

Useful Resources

These helped me find a starting space for making MetaSounds. 

Get Xenex: Conscientious Culling

Leave a comment

Log in with itch.io to leave a comment.