[RELEASED] SoundManagerPro: Easy Game Music Plugin

1271780--61401--$small smpro forum.png

“Your Asset has been published! And quite an impressive asset it is :)”
– Unity Asset Store

SoundManagerPro is a powerful and easy-to-use sound and music system for Unity, both Pro and Free (3.5.4f1 or higher).

This plugin features it’s own music managing AI to make sound integration into your project quick and easy. Not only is it easy, but it is done with style to add that extra UMPH. Forget about saving programming music for last, make it quick, easy, impressive and FANCY with SoundManagerPro. All with minimal overhead.

SoundManagerPro works in an interesting way which separates itself from the competition. It uses its own SoundConnection class. SoundConnections tie a list of AudioClips, a method to play them, and various other variables to a scene. Then, the AI will take it from there. Each time you enter a scene, it will just know what to do. Don’t worry, SoundManagerPro is flexible and this setup is not required. It just helps you quickly set up a backbone for your project. SoundManagerPro gives you the option to still use it’s AI however you want to.

Available *HERE* on the Unity Asset Store.

If you want to try it for *FREE*, download the Free Version!

Features:

  • Full Inspector Integration, Setup, and Editing
  • Sound Managing AI
  • Sound Effects (SFX) Management and Pooling System with extra versatile modification real-time
  • Sound Effects Capping System to prevent too much of the same sound playing at once
  • NGUI, PlayMaker, 2d Toolkit and DF-GUI integration included
  • ALL CODE AVAILABLE to see. Modify it as you please
  • MonoDevelop method comments included. Know what functions do as you type so you don’t have to constantly check documentation
  • It’s own AudioClip Loading system for efficiency and flexibility
  • Crossfading
  • Option of Code-Free Implementation
  • Common play methods found in Audio Players: Repeat, Shuffle, Delay (among many)
  • Developer Options to turn off music or show more information
  • An elaborate Demo Scene to show you what you can do
  • Flexible Event System
  • Scripting Reference Available on our site.
  • Plugin Support and Updates
  • Possible 5-minute music integration
  • C# and JS compatible
  • Mobile-friendly
  • Singleton Perfect included for Free. Make any script a Singleton easily. It will always work, even if it doesn’t exist.
  • And much more!

Use the set up demo to see how the basic implementation of SoundManagerPro works! Switch scenes by clicking the colored buttons.

Watch the HD Video Tutorials

For more information, please visit the website.


Changelog in v3.6.1

  • Fixed crossout bug
  • Organized generated SFX Objects underneath the SoundManager
  • Further fix to Win 8 Phone/Windows Store Apps builds
  • DF-GUI integration update to include clip type (like ngui integration)
  • NGUI integration update

Changelog in v3.6

  • Revamped UFPS integration.
  • Added SoundPocket functionality, in editor control loaded SFX at certain points in your game.
  • Added ability to add base volumes to SFX and individual tracks in SoundConnections.
  • Added tooltips to help understand SMP. Each variable in the editor is explained.

Changelog in 3.5:

  • Track Sync implemented
  • Switch between SoundConnections and start where the previous soundconnection left off, at any track you want.
  • New Demo Scene to show off Track Sync

Changelog in v3.4.3:
* ALERT * SOME PARAMETERS FOR SFX FUNCTIONS HAVE CHANGED SLIGHTLY!

  • Rearranged parameters for some PlaySFX functions for consistency (loop and delay on one overload changed)
  • Added string overloads to PlaySFX functions so there is no need to use SoundManager.Load manually

Changelog in 3.4:

  • Fix to file rename issues
  • Added Crossfade, Crossin, and Crossout functionality for any audiosources.
  • Delete sfx feature easily available now
  • Remove sfx from SFXGroup easily available now
  • Added functionality to set volume and set pitch to only certain sfx
  • Implemented ducking feature for both volume and pitch
  • Added run-on-end functions for sfx as well
  • Added delay for sfx
  • Added more to the demo scene

Changelog in 3.3.1:

  • Added ability to view sfx with different sorting, by group or by time added
  • Fixed bug with missing files
  • Ability to ignore level load is not settable on the soundmanager prefab

Changelog in 3.2:

  • Greatly improved SFX performance from O(n) to O(1)
  • Fixed audio subscription bug that would remove subscription after disable

Changelog in 3.1:

  • bug fix for song callbacks calling early
  • Added tag, layer, and name filters for AudioSourcePro event triggers

Changelog in 3.0:

  • Added a new class, AudioSourcePro, that extends AudioSource to load clips from SoundManager or SFXGroups
  • AudioSourcePro has the ability to set event triggers, like OnTriggerEnter, OnEnable, OnDisable, OnStart, etc.
  • AudioSourcePro has the ability to query scripts on the same object for events. It can then bind actions to those custom events.
  • Added extension methods to AudioSource to play SFX functions
  • Added a new class, AudioSubscription, that ties events to SoundManager actions
  • Namespaced the Singleton class
  • Removed unnecessary editor classes
  • Greatly improved editor performance
  • Greatly improved in-game performance
  • Gave option for lo-impact editor performance
  • Added option to turn off automatic update checks
  • Fixed bug with prefab serialization. Can now treat the SoundManager as a regular prefab
  • Added DF-GUI and UFPS integration from menus
  • Greatly improved audio pooling
  • Added prepooling per clip
  • Added lifetime to sfx objects over the prepool amount
  • Added easier access to commonly used instance variables like: muted, volume, pitch, crossfade duration, current sound connection, default resources path, etc.
  • Added additional developer settings
  • Added Demo Part 2 to highlight AudioSourcePro features

Changelog in 2.8.0:

  • DF-GUI integration included along with audio system
  • All other integrations are updated to reflect latest releases

Changelog in 2.6.8

  • Fix to setting volume to 0 at start
  • Added new ‘audio preloading’ feature that helps gapless music playback. WAV files are recommended unless you have software to create gapless MP3s.

Changelog in 2.6.7

  • Fix for event system ( which in turn also fixed the event system in the PlayMaker integration )
  • Added SFX Group actions to PlayMaker support

Changelog in 2.6.2:
1325696--63294--$forum info new sfx group feature.png

  • New feature: SFX Groups! Current SFX Group features include: Pick SFX at random from within group; Set individual SFX caps per group;
  • Unity 4 warnings removed
  • Added a ‘Check For Updates’ feature in the AntiLunchBox menu. It will take you directly to the Asset Store page to update. If a new update is available, it will also automatically debug update alerts to you when you open your project.

Changelog in 2.5.1:

  • 2d Toolkit Integration added
  • Added “Setup for JS” option in ‘Window/AntiLunchBox’ menu
  • Added addtional functions in ‘Window/AntiLunchBox’ menu, including all integration methods (NGUI, PlayMaker, TDTK), links to documentation and forums, etc
  • Added custom SoundConnection functionality in the inspector. You can now create custom SoundConnections, and play them via level name
  • Removed limitation on SoundManager.PlayConnection. It now leaves the level setup intact
  • Added an overload to SoundManager.PlayConnection that takes a level name. Can be used to play regular and custom SoundConnections
  • A minor UI change to show which SoundConnections you have selected
  • Added SoundManager.CreateSoundConnection so you can easily make SoundConnections in one line
  • Updated PlayMaker actions for the new CreateSoundConnection and PlayConnection methods
  • Updated the DemoScene to show off the new changes
  • Hotfix for NGUI integration

Changelog in 2.3.6:

  • Fixed playback issues in the Editor on Mac’s
  • Fixed playback issues with ‘Maximize On Play’ enabled
  • Disabled SoundManager prefab if not in scene
  • Fixed issues with changing volume during crossfading
  • Fixed issues with setting volumes to 0
  • New logo

Changelog in 2.3.2:

  • PLAYMAKER integration included. Custom actions for everything.
  • New functions including: Stop, Stop Music, StopSFX
  • UI Facelift, removed extra steps in process to make it easier to make SoundConnections
  • More variables are exposed in the inspector like: default resources path, and SFX cap amount
  • Moved everything to one folder so future updates will only need 1 folder to be replaced (Old users just delete your ‘Editor/SoundManagerPro’ folder before updating)
  • Couple small bug fixes

Changelog in 2.2:

  • FULL CODE RELEASE
  • NGUI integration included
  • Singleton Perfect package included Free
  • MonoDevelop Method Comments included! You no longer have to check documentation repeatedily, function descriptions are available as you type in MonoDevelop

Changelog in 2.1.1:

  • Removed unneccesarry scripts in the Components menu
  • Fixed issue with Mute Music actually calling Mute All
  • Revamped code structure (prepped for exposure in the Paid Version)
  • Application.LoadLevelAsync support (additive will not be supported)
  • Ability to Pause everything
  • Ability to get current playing song easily
  • Ability to get full current scene playlist easily
  • Ability to go to Next or Previous song in scene playlist
  • Fixed issue with minimizing unity
  • Added more to the demo scene, 2 pages of functionality now
  • Fixed issue with callbacks

In 2.1.1, the structure of the code is different so you’ll have to at least reimport a couple things:
DemoTwo.cs (if you’re using it)
SoundManager.dll
SoundManager.prefab

FYI, a change like this most likely won’t happen again.

Just in case, I would click ‘view all’ on your current SoundManager prefab and take a screenshot of your SoundConnections and SFX. Worst case scenario, you’ll have to recreate the SoundManager prefab and add the component from Component > AntiLunchBox > SoundManager.

Let me know if you have issues updating.

Changelog in 2.0:

  • New inspector layout
  • Added a Sound Effects Management and Pooling System
  • Added ability to cap sound effects so not too many will play at once (to prevent something playing 10 times at once and drowning everything else out)
  • Added ability to just play a clip without having to make a SoundConnection
  • Added ability to play a clip immediately and have it loop
  • Added ability to set music and/or sound effects enabled
  • Added ability to get a SoundConnection for a certain level
  • Completely removed excess components
  • Fixed issue with setting the volume to a higher volume not working instantly
  • Added callbacks for crossfading
  • Modified system to be able to handle temp change when the pitch is changed
  • Fixed issue with crossfade time changing forever if the clip length was less than the crossfade length
  • Fixed issue with volume not updating when the crossfade duration was 0, causing a new track to sometimes start at maximum volume
  • Fixed issue where if you played another track manually, but switched while it was crossing in-- it would finish the cross in before successfully crossing out
  • Clips will now be removed if you select none
  • Fixed issues with Unity4 deprecatd functions
  • Fixed issues with people who pause the game with Time.timeScale
  • Fixed Issue with LevelLoad sometimes being called twice in some people’s games

Upcoming Features in Future Updates:

  • Customizable amount of AudioChannels (SFX Group feature)
  • More info coming soon!

looks pretty cool and impressive! Definitely a time saver, but I’m curious about something before setting any money down.

I’ve found that using AudioClip.time is terrible and inconsistent across platforms. Does this plugin have these problems or account for it?

@madflyskills,

Hey,
The plugin indeed takes that into account. It does not use AudioSource time. Instead, it uses the samples of the clip and divides it by the sampling rate in order to get the exact time in seconds regardless of platform or compression.

How does it “know just what to do”. Can you do a demo on what’s the special feature?

The HD video shows a demo, but in order to keep the video from not lasting too long – I didn’t let songs finish. I’ll put up a web player demo soon so you can try it out for yourself.

I will update the post when I have that up.

Sweet, thanks. Awesome!

@imtrobin,

I updated the post with a link to the demo

Hi all!

A big update is coming with:

  • Sound Effects Management/Pooling
  • More robust event system
  • Tempo change handling
  • Exposed code (as per request)
  • A facelift
  • Bug fixes

I am also including:

  • A new video showing implementation into a pre-existing project
  • A new, better, and more organized demo

Stay tuned.

2.0 is almost done review. In the meantime, you can check out the new 2.0 on youtube

2.0 is FINALLY RELEASED!!! WOO!

As noted above, here is the changelog:

Changelog in 2.0:

  • New inspector layout
  • Added a Sound Effects Management and Pooling System
  • Added ability to cap sound effects so not too many will play at once (to prevent something playing 10 times at once and drowning everything else out)
  • Added ability to just play a clip without having to make a SoundConnection
  • Added ability to play a clip immediately and have it loop
  • Added ability to set music and/or sound effects enabled
  • Added ability to get a SoundConnection for a certain level
  • Completely removed excess components
  • Fixed issue with setting the volume to a higher volume not working instantly
  • Added callbacks for crossfading
  • Modified system to be able to handle temp change when the pitch is changed
  • Fixed issue with crossfade time changing forever if the clip length was less than the crossfade length
  • Fixed issue with volume not updating when the crossfade duration was 0, causing a new track to sometimes start at maximum volume
  • Fixed issue where if you played another track manually, but switched while it was crossing in-- it would finish the cross in before successfully crossing out
  • Clips will now be removed if you select none
  • Fixed issues with Unity4 deprecatd functions
  • Fixed issues with people who pause the game with Time.timeScale
  • Fixed Issue with LevelLoad sometimes being called twice in some people’s games

The free version is also available.

The first 20 People who reply to that thread or PM me will get this Full Version for free!

Looks good. There are now FOUR packages like this that I know of. Master Audio, Audio Toolkit, Wingrove Audio and yours - one of which was written by my company. You may be smart by categorizing this under Scripting / Audio, whereas the other 3 are under Editor Extensions / Audio. Or that may be a bad move, I’m not sure :slight_smile: Anyway it’s good to have competition, so welcome!

Why thanks, but I don’t consider SoundManagerPro in the same vein, really.

Hey all,

Here’s what I have planned for the next update:

  • Full source code released if SoundManagerPro gets enough downloads!
  • AudioSource pre-editing manager (configure and save AudioSource settings to apply to any sound)
  • Ability to play a new music track within a currently playing SoundConnection (without stopping it)
  • Ability to get current playing song easily
  • Ability to get full current scene playlist easily
  • Ability to go to Next or Previous song in scene playlist
  • AI support for Additive and Async loading
  • More info coming soon!

dunno what to choose, this new one looks real good, ehehe.

Well give it a shot, the free version has all the same functionality. The only difference is the watermark.

You can download it here.

Just came up with a new exciting feature! It will be released for the Full Version only! (Sorry Free Version users!) More details to come as I flesh it out.

Just pushed an update with some fixes and small features, will let you guys know when it’s live.

Hey all,

Thanks to Yusuf AKDAG for alerting me of this issue.

In the recent release there was a build issue. I have fixed this and the new version (2.1.1) is on the Asset Store.

The structure of the code is different so you’ll have to at least reimport a couple things:
DemoTwo.cs (if you’re using it)
SoundManager.dll
SoundManager.prefab

FYI, a change like this most likely won’t happen again.

Just in case, I would click ‘view all’ on your current SoundManager prefab and take a screenshot of your SoundConnections and SFX. Worst case scenario, you’ll have to recreate the SoundManager prefab and add the component from Component > AntiLunchBox > SoundManager.

Let me know if you have further issues.

AntiLunchBox Studios

Thanks to a fast response to from Unity Asset Store Team (thanks!), the update with the fix is now on the Asset Store. You can download it regularly from there.

Changelog in 2.1.1:

  • Removed unneccesarry scripts in the Components menu
  • Fixed issue with Mute Music actually calling Mute All
  • Revamped code structure (prepped for exposure in the Paid Version)
  • Application.LoadLevelAsync support (additive will not be supported)
  • Ability to Pause everything
  • Ability to get current playing song easily
  • Ability to get full current scene playlist easily
  • Ability to go to Next or Previous song in scene playlist
  • Fixed issue with minimizing unity
  • Added more to the demo scene, 2 pages of functionality now
  • Fixed issue with callbacks

In 2.1.1, the structure of the code is different so you’ll have to at least reimport a couple things:
DemoTwo.cs (if you’re using it)
SoundManager.dll
SoundManager.prefab

FYI, a change like this most likely won’t happen again.

Just in case, I would click ‘view all’ on your current SoundManager prefab and take a screenshot of your SoundConnections and SFX. Worst case scenario, you’ll have to recreate the SoundManager prefab and add the component from Component > AntiLunchBox > SoundManager.

Let me know if you have further issues.

AntiLunchBox Studios