The Audio Balance in most Roblox games is terrible, but it doesn't have to be!

For years now, we’ve been doing things the same way.
Despite Roblox giving us the tools to make it happen, our stubbornness and comfort in the norm have prevented us from making any progress. It has become normal for me to join a game and have to mute it due to the overwhelming music or ear piercing engine sounds. This REALLY shouldn’t be the case. We can fix this, but why haven’t we? Have we forgotten how much Audio adds to the player experience?

Games have had Sound Options for DECADES!
When a PC game releases, we expect to be able to configure the sound options for it. We expect to have control. Doom(1993) had sound options, almost 30 years have passed since then, and it’s STILL common on Roblox to have no sound configuration options. Why is it not the norm on Roblox? We need to start holding Roblox games to the same standards. If a game from 1993 can do it, so can we! Players should not have to mute your games, or mess around with external volume mixers just to preserve their hearing!

THE SOLUTION
Allow me to introduce to you my latest “Ugly But Useful” (UBU) plugin, UBU: Sound Settings!

UBU:Sound Settings uses SoundGroups parented to SoundService to control volume in games!

Setup is easy, and by default it is designed to work with Roblox’s topbar thanks to ForeverHD’s Topbar+ module. This allows the menu to seamlessly blend with Roblox’s own UI when it’s not open.

Volume Control is also very easy for players to use, as it uses Sliders created with EgoMoose’s GuiLib which means that volume adjustments are simple, and intuitive.

Now let’s get into the set-up!
For demonstration purposes, I’ll walk through setting up the “Music” slider in the Demo place.

  • Step 1) Set up your SoundGroups!
    Create a SoundGroup using Roblox’s insert object menu and make sure it is parented to “SoundService”, give it a unique but useful name. In this scenario, I’m calling mine “Music”

  • Step 2) Set the SoundGroup property on your Music/Sounds!
    Next, we will select any audio we want to be controlled by this SoundGroup, and then set its “SoundGroup” property to the desired group.



    This can also be done with a script if you’re inserting the sounds with an in-game script. Though, I won’t get into that in this tutorial.

  • Step 3) Open the plugin!
    Click Setup Sound Sliders
    You’ll be greeted with the following window;

    In this window, we can do a few things, such as change the default volume percent and change which side of the topbar the button to open the menu will go on. Percents can be entered as whole numbers (Integers) and the Topbar side can be changed by left clicking on its respective button.

NOTE: Sounds groups you have in “SoundService” will be displayed in a checkbox list in the middle of the UI, it will NOT display duplicate names. The resulting in-game menu created by this plugin will control ALL SoundGroups that share a name.

  • Step 4) Select the SoundGroups and create the menu!
    Next we will select the SoundGroups we want to create volume controls for by clicking on its respective box.
    clickmusic
    Then we click “Create/Update Menu”
    clickcreate

In-game Pictures;

And just like that, we’re done! Is it pretty? Well, if it was I’d have to re-brand! But, it works, we can now control the volume of the music in the demo game with a slider UI! If for any reason, you want to remove the menu and its dependents, just open the plugin and click “Uninstall Menu”!

You can use it as is, edit it to make it look nicer, or make your own volume menu from the ground up! I just want to make it easier for developers to introduce sound menus into their games, it’s a practice we should ALL be using. I hope this at least encourages some people to start implementing systems like this.

In the live Demo place, I also have it set up so you can control Character Audio as well, but felt it fell outside the scope of this post. Feel free to dissect it to see how it works!

61 Likes

This looks great but I have a few questions:

  • Any themes?
  • Is this plugin open-source?

This plugin looks epic.

4 Likes

I feel like SoundGroups are colossally underrated. A couple of months ago I started integrating them into my games so that I could later make a settings menu that allows for granular control over certain types of audio (ambience, music, Gui sounds, character sounds and much more).

Good plugin you’ve got there. Hopefully for advanced developers, it can serve as a springboard or call to start thinking about UX again and allow for fine tuning of volume for a better game experience. Settings are absolutely critical to improving the gameplay experience and SoundGroups were a great tool to use in order to setting up audio configuration.

Can’t tell you how many times I’ve seen poorly done systems (one-size-fits-all mute-all-or-none or blatant lack of the ability to tailor experience) which has just ruined some games for me.

10 Likes

Looks great! I’ll definitely take a look at this!

1 Like

Definitely using this in my game. Amazing work!

1 Like

No themes, this is meant to be a bare bones system with as few frills as possible while maintaining the core concept.

The plugin itself can be modified for personal use, but if someone is making a new plugin to publish I’d prefer they made their own. The in-game UI called “ubuSoundSettingsubu” however that gets parented to StarterGui you can do whatever you want with it. Modify it and pass it to your friends, Use it as is, throw it out, doesn’t matter to me.

3 Likes