Sound Manager Plugin
A downloadable tool
Overview
The Sound Manager gives the users better control over the audio of their games. Using this plugin, it is possible to play every sound of the game using just simple method calls—no more long AudioStreamPlayer lists inside your scenes nor long methods to handle the audio inside every script.
This plugin is designed to facilitate the Sound Manager Module configuration process, by offering a UI in the editor that makes its configuration easier.
If you want more info on the Sound Manager Module, take a look at the README file inside the module
directory.
You can also find this tool's source code on my GitLab.
This plugin was created to:
- Automatically set the Sound Manager module scene as an AutoLoad.
- Create a dock in the editor to make an easier configuration of the sound manager.
On this download page, you will find different files:
- Version 4.X: the latest version of the plugin. It has some tweaks and bug fixes, but most importantly it's compatible with Godot Engine 4. It's the new main version of the Sound Manager.
- Version 3.X: the previous version of the Sound Manager, compatible with Godot Engine 3. It's still unsure if it will still be maintained, but if you're using Godot 3 for your project, you may want to stick with this version.
- Sound Manager Demo: This is basically the project I made during the development of Version 3.0 for testing purposes. I have updated it to a new revamped version for Version 4.0. You can download it and run it in your Godot Engine editor to test the plugin and play with it to understand how it works. It requires Godot Engine 4.
Configuration
- Copy & paste the content of the
addons
folder in theres://addons/
path from your project (this is the standard path for plugins in Godot). - To activate/deactivate the plugin, go to
Project/Project Settings/Plugins
, locate the plugin entry and change its status. - Once the plugin is activated, a dock called
SoundManager
will appear in the editor. Here you can change all the sound settings, from default properties (volume, pitch) to AudioBus ("Master" is the fallback"). - Save the current scene (press the shortcut
CTRL + S
).
The UI consists of three sections to facilitate the configuration and use of the sound manager, this UI:
- Allows you to change the default sound properties (volume and pitch) for each type of sound
- Allows you to set the AudioBuses available in your project.
- Displays the sound files available in each path.
- Allows you to easily build and edit the Audio FIles Dictionary.
Once set up, you can play/stop the sound files in any scene. To play the sounds you can use the "Audio_Files_Dictionary", which allows you to use different strings (keys) for method calls and file names. This way, even if your audio file is called "*res://sfx_audio_jump.ogg*", you can set it in the dictionary to call it a simple "Jump", adding a simple entry "Jump" : "res://sfx_audio_jump.ogg"
.
The dictionary is located inside the "SoundManager_config.gd" file, but you can just use the UI to edit it. You can place it wherever you want inside your project directory.
Another way to play the sounds is to use the absolute path that leads to the file, like SoundManager.play_bgm("res://Audio/BGM/background_music.ogg")
.
The dock also comes with an additional button: Advanced Options
to access some more options. The ones currently available are:
- Preload resources
: setting this true will make the SoundManager load every audio file located on the given paths at its _ready()
. Note that this may slow down game start, especially in projects with a long list of audio files, but will make sound playing faster.
- Preinstantiate nodes
: you can tell the plugin to instantiate every node at startup. This will work in synergy with the "multiple sounds at once" feature for BGS, SFX, and MFX. Note that this will make playing multiple sounds faster but may slow down the game start and even the game itself, especially in bigger projects.
Credits
The plugin was developed by Simón Olivo (Sarturo) and Celeste Privitera (Xecestel) as a derivative work from the Sound Manager Module originally developed by Celeste Privitera.
Check out the Source Code here.
If you encounter issues, or bugs or just want to make contact with the authors, you can write a comment on this page, open an issue on the GitLab project page, or contact one of us on Twitter (@sarturoDev or @xecestel).
Licenses
Sound Manager Module
Copyright © 2019-2024 Celeste Privitera
The Sound Manager Module is subject to the terms of the MIT License. If a copy of the license was not distributed with this file, You can obtain one at https://mit-license.org/.
You can find more info in the LICENSE.txt file inside the repository.
Sound Manager Plugin
Copyright © 2019-2024 Simón Olivo & Celeste Privitera
The Sound Manager Plugin is subject to the terms of the MIT License. If a copy of the license was not distributed with this file, You can obtain one at https://mit-license.org/.
You can find more info in the LICENSE.txt file inside the repository.
Sound Manager Demo
Copyright © 2020-2024 Celeste Privitera
The Sound Manager Plugin is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
You can find more info in the LICENSE.txt file inside the repository.
Updated | 17 days ago |
Status | Released |
Category | Tool |
Rating | Rated 4.7 out of 5 stars (3 total ratings) |
Author | Xecestel |
Made with | Godot |
Tags | Godot, godot-3, godot-4, Music, plugin, sound-manager, sounds, soundtrack, tool, utility |
Code license | MIT License |
Asset license | Creative Commons Zero v1.0 Universal |
Average session | A few seconds |
Languages | English |
Links | Source code, Support |
Download
Click download now to get access to the following files:
Development log
- Version 4.3!49 days ago
- Version 4.2!74 days ago
- Minor Update: Version 4.1.179 days ago
- Version 4.1!79 days ago
- Version 4.0 available NOW! (NEW VERSION)82 days ago
- Minor update and considerations (v. 3.4.2)Nov 21, 2021
- Minor update! (3.4.1)Nov 16, 2021
- License updatedNov 07, 2021
Comments
Log in with itch.io to leave a comment.
Using this pretty extensively and expect to make it my primary Sound manager across my projects!
So nice to not have to write my own, and the developer is really active when it comes to the bug fixes and issue notifications.
Thank you very much! I'm glad to know it was useful!
This is awesome, but I'm really confused about the differences between
BGM
,BGS
,SFX
andMFX
. It seems like I should use play_bgm for background music. However play_sfx doesn't work at all for me, and I had to use play_bgs which I'm not sure is the right thing to be using for sound effects. I'm especially confused about `MFX`.Yea, I must admit I was a little afraid this could become confusing. The methods to play sound effects and music effects are called play_se and play_me. Why a different name? Because the first version of the plugin was not coded by me and I actually never decided which one to stick with. I'll most certainly change it for constistency as soon as I can, that's on me.
About the other question: MFX or ME or Music Effect usually refers to something like a sound effect but more... Musical? Like a jingle or a short fanfare. I guess you could technically consider them still sound effects, but back when I liked to mess around in RPG Maker they were separated, so I thought it made sense to also do it myself.
Just to clarify: you can do whatever you want. The methods play_bgm, play_bgs, play_se and play_me behind the scene call the exact same method: play. The only difference the module makes between a sound type and another is the default properties (volume and pitch) and the AudioBus. So you could technically use the same bus and properties and just use play_bgm for every sound you want to play and it shouldn't make any difference whatsoever.
If you're still confused about the sound type I used, let me explain. Basically I used the same types I found back in the days in RPG Maker, as I said, as I thought it covered up everything needed:
BGM stands for Background Music. It refers to, well, background music, like a soundtrack you want to play during a scene or a level.
BGS stands for Background Sound. It refers to any sound you want to play in background, like rain or a crowd talking, or the wind blowing. Think about a background music, but replace it with a sound.
SFX and SE stand for Sound Effect. They refer to, well, sound effects. Like a gunshot, or a laugh, or a short applause. Everything that's a sound but it's not supposed to just loop in background, but to end soon.
MFX and ME stand for Music Effect. As I already explained, think about a sound effect and replace the sound with a music. A victory fanfare, or a saved game jingle. A music that's not supposed to go on for long.
Hope I clarified everything, I'm sorry if the plugin wasn't really clear on some part! But I still hope it's doing its job and being useful for your projects! I will fix that inconsistency in the semantic as soon as I can (unfortunately I can't use my pc for now, so it'll have to wait).
Hi! I just released a new version of the plugin. I updated the dock, the scripts and the docs: now sound effects and music effects are officially called SE and ME everywhere, so no more doubts! Also, the README file now features a new section that explains the purpose of every sound type!
I hope it helps!
You da bess! Thanks Xecestel!
I am using Godot soon maybe, so I will save this. Thanks!
Thank you, I hope you'll find it useful!
It's impressive how much work you are putting in this project. I didn't tried it yet, but definitely gonna use it in further projects because it's a game changer in managing audio in Godot. Thank you for this addon!
Thank you so much for the feedback, I'm happy to know that this plugin is doing some good for someone! I hope it will be as good as it seems!
Keep checking this page, anyway, because new updates are probably coming! :)