AudioDevice - Sound Class volume reseted at each level load

Hi,

I’m not sure if it’s a bug or a “by design” stuff, but as I can’t find any information, I would like to raise this point.

In order to manage sounds settings on the player side (UI, FX, Voice, Master…), we created different type of sound classes to catalog our sounds.

We created an UI to change the volume levels of those sound classes.
When we change the volume of the appropriates sound classes that are hold in GetMainAudioDevice(), the sound play at the new level (expected). But as soon as we are travelling to another map, the sound level is set back to the initial volume.

I can’t find any samples on how to do that properly, so I wanted to know whether or not this is by design and we must update our sound class volume during PostLoad event or if this is an issue that should be fix on Epic sources or if this is not the way to do it (and I will apreciate that you share the “how to”).
Thanks,

Hey Elvince,

If you want to change the sound class adjusters in a sound mix (to tie sound class volumes tightly to UI or gameplay), there’s a new feature/node we added in the 4.12 release called Set Sound Mix Class Override.

You can read more about this feature in our 4.12 Release Notes by following the link below. Just search for the Set Sound Mix Class Override, and you will find a detailed explanation of how it functions and a good way to use it.

4.12 Release Notes

Hopefully using this node within blueprints resolves your issue, but if you have further questions or need additional assistance please let me know.

Cheers,

Hi,

I think you miss understoof my question. I never talked about sound mixes that should be use to change “mix” for particular event in your game or so.

I talking about basic volume settings of the different class. Let’s say my player don’t want to hear the music, he will slide the Music volume to 0 and won’t hear any music in the whole game / Menu.

It’s a user settings that I’m talking about.

We are accessing the Sound Class Volume to manage this, but sadly, it is reseted at each level, and this is where I need your insight to understand if it is by default or by design. And what are the best practices to manage this (you have done such things in Paragon for example).

I understood your question and was trying to suggest an alternative method to changing the volume settings within your sound classes. Using a Sound Mix is the suggested workflow when changing the volumes within Sound Classes.

It is expected that when you open a new level or stream in a new level, the volumes of the sound classes reset because all the .uassets need to be initialized for the level to load correctly. Since Sound Classes are .uassets their properties are reset. This is why I suggested the use of the new node to work around this known Audio limitation.

Let me know if you have further questions.

Cheers,

Thanks for the feedback.

Could you please help me in setuping the core asset for this?

My understanding:

  1. Create a Master sound Class
  2. Create a Child UI Sound Class
  3. Create a Child FX Sound Class
  4. Create a “Global Mix” mix asset
  5. In Global Mix, set the UI & FX sound class volume as default volume mix
  6. Assign “Global Mix” as Passive Mix in Master Sound Class.

In this case, how do I manage the “Master Sound?” Must I create an “BigMaster” just to hold the sound mix that will apply volume on UI,FX,Master?

If I play a sound wave linked to “FX” sound Class, does the sound mix will be applied?

The sound mix is also an UAsset, so why it will kept on level loading while the sound class is reseted?

Thanks,

Instead of me repeating what is within the documentation, take a look at the Audio System Overview for Sound Classes. Start there and scroll down to read more information on Sound Mixes. It should answer all of the questions you have in regards to how the hierarchies work and the best approach to establishing Sound/Volume Ducking.

If you are still confused or have questions after review the documentation page, let me know and I will assist you further.

Thank you,

Hi,

(sorry for the delay)

This is what I’ve done before asking your more clarification. The documentation is clearly oriented on “Volume ducking”, this is what you want to do to lower down a specific sound class when playing a audio file (like lower down FX to allow the narrative audio to be heard properly).

I’m still confuse on how to setup this to set the basic level of all sound classes. in general and not for a specific audio sound class.

More as your said that at each level loap all UAsset properties are reseted, why does the sound mix one won’t be? Is it a special case that have been implemented?

thanks,

Hello Elvince,

If you want to change the overall volume of your game’s audio, you would want to modify the Master Volume settings. Everything is going to be a child of the ‘Master Sound Class’.

The Sound Mix is going to re-initialize just like all other .Uassets, but should retain its settings when loading levels. If this is not the case, please let me know so I can test it on my end.

Thank you,