Release Notes

Setup Wizard A quick wizard to help you set preferences so you don’t miss any of BroAudio’s customizable features.

Individual Audio Effects You can now add audio effects to individual audio players using these new methods:

  • AddChorusEffect

  • AddDistortionEffect

  • AddReverbEffect

  • AddEchoEffect

  • AddHighPassEffect

  • AddLowPassEffect

This update also brings the Low Pass Filter Curve to the Spatial Settings.

Other New Features

  • Drag and drop audio clips directly onto specific audio assets in the Library Manager.

  • Added a rule to skip comb filtering prevention when the audio source distance is greater than a specified value.

  • Added a closable help box to the Library Manager.

Fixes & Improvements

  • Improved volume slider binding to use normalized values.

  • Fixed an exception that occurred when previewing audio from the SoundID field while the Library Manager was open.

Breaking Changes

  • The IPlayableValidator.IsPlayable method signature has changed to: IsPlayable(SoundID id, Vector3 position)

  • By default, the comb filtering rule is ignored when the distance between sounds is greater than 0.1.

Ver. 2.1.1

  • Only schedule the AudioSource when a clip is assigned to avoid warnings in Unity 6

  • Upgrade SoundID usage finder tool

  • Add null checks and refactor background logo handling

Ver. 2.1.0

Chained Play Mode Plays a start sound when triggered, then loops a base sound. An end sound is played when stopped.

Editor Audio Preview Improvements The preview now responds in real time to volume and pitch adjustments, offering a smoother and more intuitive experience.

  • Added copy and paste support for AudioEntity properties (gif)

  • Added a playback delay option when using "Play On Enable" in the SoundSource component

  • Added SetPitch(SoundID) method

  • Added HasAnyPlayingInstances() method to check if a sound is currently playing anywhere

  • Added a “Find SoundID Usage” tool in the editor (screenshot)

  • Added a context menu to the asset list in LibraryManager

Fixes & Improvements

  • Fixed exception thrown when calling Pause() a second time

  • Fixed an issue where the Clip Editor didn't reset values after saving

  • Fixed Clip Editor preferences not applying correctly

  • Fixed an issue where the [Tooltip] attribute was ignored on SoundID fields

  • Fixed Shuffle Play Mode not reselecting the last used clip after the first selection

  • Prevented unexpected clip changes caused by Unity reinitializing the PropertyDrawer

Ver. 2.0.8

  • Fixed build failure caused by compilation errors

Ver. 2.0.7

  • Fixed unpause not working as expected in SoundSource component

  • Fixed an issue where SetScheduledEndTime wasn't working as intended

  • Added IsLoaded() method for checking whether an entity is loaded by the Addressables

  • Added SoundVolume and SpectrumAnalyzer to the right-click game object creation menu

  • Added Pause/Unpause example to the demo scene

  • Improved the audio clip picking logic to prevent the clip sequencer and shuffle from updating when the audio clip is unavailable

  • Improved error handling for the audio player

Ver. 2.0.6

  • Added an automatic process to fix duplicate SoundIDs.

  • Fixed LibraryManager unexpectedly getting focus after OnPostprocessAllAssets.

  • Exposed copy ID to clipboard feature.

Ver. 2.0.5

  • Fixed an issue with the audio player object pool not working properly

  • Fixed an issue where the instance wrapper was not properly recycled

  • Slightly reduced the overhead of assigning an audio track to the audio player

  • Added editor support for user-customizable fields in SoundSource

Ver. 2.0.4

  • Fixed an issue where copying or duplicating an entity resulted in an invalid SoundID

Ver. 2.0.3

Behavior Changes

  • The Play() method no longer resumes paused audio. Use UnPause() instead.

New Features

  • Added a configurable audio UpdateMode to support unscaled time transitions.

  • Added undo/redo functionality for volume adjustments in the Clip Editor.

  • Added Pause() and UnPause() methods to the SoundSource component.

  • Added a URP demo scene and reduced demo texture sizes.

Fixes & Improvements

  • GC has been significantly reduced across the asset.

  • Improved audio track handling by directly adjusting the volume on the AudioSource when all available audio tracks have been used up.

  • Fixed a StackOverflowException that occurred when the topmost rule was not overridden.

  • Fixed an issue where setting the master volume had no effect in WebGL.

Ver. 2.0.2

Behavior Changes

  • The Play() method on the SoundSource component has changed to use the current Position Mode settings instead of defaulting to global.

  • SoundSource component now stops the current playback before playing a new one to prevent losing control and reference to the previous play.

Fixes & Improvements

  • Added PlayGlobally() to SoundSource to play sounds globally, ignoring Position Mode.

  • Added missing Undo/Redo functionality to the ClipEditor.

  • Added Pause() and UnPause() public static methods with an audio type parameter.

  • Added open the last edited asset preference option for LibraryManager.

  • Added a preference setting for showing the play button when entities are collapsed in LibraryManager.

  • Exposed the override playback group on SoundSource component and added tooltips for all properties.

  • Fixed an issue where audio track changed unexpectedly after unpausing.

  • Fixed a LayoutWindow exception at project launch by removing an unnecessary asset-saving process.

  • Fixed comb filtering time not working correctly when set to zero.

  • Fixed a warning appearing incorrectly when SoundSource tried to display the debugging player.

  • Renamed and added a tooltip for the spatial setting field.

  • Removed the non-2D spatialBlend warning.

  • Improved public API summaries.

Ver. 2.0.1

  • Fixed a stack overflow issue that occurred when no groups were assigned

  • Fixed an issue where PlaybackGroup was unintentionally saved to the ScriptableObject in play mode

  • Fixed a conflict in LibraryManager where the Delete key was used for both deleting entities and removing object references

  • Fixed an issue where the dominator was not set to the correct track

Ver. 2.0.0

New Features

New APIs

  • Added SetScheduledStartTime() and SetScheduledEndTime() to IAudioPlayer for scheduling playback

  • Added SetDelay() to IAudioPlayer for delaying playback

  • Added CurrentPlayingClip property to IAudioPlayer for accessing clip information (e.g., StartPosition, FadeOut, etc.)

  • Added IsPlaying() property to SoundSource component

Improvements

  • Added a [None] option to the SoundID dropdown menu

  • Clicking on the label now expands an audio entity in Library Manager

  • Added right-click menus and shortcuts in LibraryManager for duplicating and removing entities

  • Implemented an automatic cleanup process for demo audio assets if they are not imported

  • Added undo/redo functionality to the Preferences window

  • Added editor preferences to the Audio Clip Editor

  • Reordered SetPitch() method arguments to fix inconsistency with other APIs

  • Improved user data generation process

  • Various code refactoring and optimizations

Fixes

  • Fixed an issue where changing the master volume in WebGL did not work as expected

  • Fixed APIs that couldn't avoid accessing a recycled player

  • Fixed an issue where editor assets were mistakenly included in the build; they have been moved to Editor/Resources

  • Fixed MusicPlayer and DominatorPlayer not updating their instances during seamless looping

  • Fixed an issue where an audio player couldn't be stopped if it was still waiting for delayed playback

Ver. 1.15

  • Fixed Pause() and Stop() method's override fadieTime doesn't work with a value of 0

  • Fixed drag and drop with MultipleForEach option doesn't work as intended

  • Added a debug object reference to SoundID

Ver. 1.14

  • Fixed SoundID doesn't work as intended when it's in an array

  • Fixed OnEnd is executed on the first loop of the play

Ver. 1.13

  • Fixed the volume dominator that wasn't working as intended

  • Fixed the GUIStyle failing to initialize during project launch

  • Fixed player never finishes playing when the start position is greater than 0

  • Improved BroAudioType check

Ver. 1.12

Breaking Change

The minimum supported Unity version is now set to 2020.2, and the code base has been upgraded to C# 8.0.

Play Mode

  • Added velocity play mode.

  • Added APIs for resetting clip sequence/shuffle data.

No-Code Components

  • Added SoundVolume component to help create volume configurations without coding.

  • Added a preview version of SpectrumAnalyzer component.

API

  • Added GetAudioClip and Play extension method to SoundID.

  • Added message type methods:OnStart, OnUpdate, OnEnd, and OnAudioFilterRead to IAudioPlayer.

  • Added audio analysis methods: GetOutputData and GetSpectrumData to IAudioPlayer.

  • Added UnPause() methods.

  • Added AudioSourceProxy to IAudioPlayer to safely access AudioSource and Unity APIs.

  • Deprecated OnEndPlaying event (replaced with OnEnd).

Other New Things

  • Added a runtime-only audio player object field in the sound source inspector for debugging purposes.

  • Added expand/collapse all entities feature to LibraryManager.

Fixes and Improvements

  • Fixed missing BroAudioData when upgrading from a different path.

  • Improved GUI UX and drawing precision.

  • Fixed issue where preview audio with pitch did not work as intended during fading processes.

  • Updated demo scene to showcase all new features.

  • Fixed slider float field clipping when the [Volume] and [Frequency] attributes were used in a sub-structure.

  • Improved shuffle picking algorithm to prevent repetition.

Ver. 1.11

  • Fixed an issue where the fading used for BGM transitions was applied to later loops.

  • Fixed SoundID dropdown menu failed to open if there were any empty audio assets.

  • Fixed SoundManager would overwrite the current reference of BroAudioData after upgrading BroAudio.

Ver. 1.10

  • Fixed issue where switching tabs in the LibraryManager caused the scroll position to change significantly.

  • Fixed SetEffect() with Dominator resulting the effect doesn’t get reset issue.

  • Fixed audioTypeVolume not resetting when the player finishes playing.

  • Added a preview button to the SoundID inspector.

  • Added an ID to the entity option menu for debugging purposes.

  • Added a fade-out setting for the “Stop On Disable” feature on the SoundSource.

  • Changed the audio player follow target design to fix the issue with players being destroyed.

Ver. 1.09

  • Fixed SetVolume with fading doesn’t work as intended

  • Avoid making changes to source control after using the audio preview

Ver. 1.08

  • Added LibraryManager shortcut to SoundID dropdown button in the inspector

  • Added SoundSource to GameObject menu item for easy creation

  • Added SoundSource replay mechanic

  • Fixed popup sound issue when previewing audio in the LibraryManger

  • Fixed audio type set volume not working as intended and refactored the volume system

  • Fixed set master volume in WebGL not working as intended

  • Tidy up script assemblies and namespaces

  • Performance optimizations and GC reduction

Ver. 1.07

  • Fixed comb filtering prevention not working as intended

  • Change the logo file and GUID to avoid errors when building the project

Ver. 1.06

Fixes

  • Fixed changes to BroAudioData isn't saved to the disk

  • Fixed pitch setting does not apply to preview audio completely

  • Changed SoundSource script icon to the non-Editor one

Improvements

  • Added WebGL constraint on volume attribute

  • Added a known issues page to the info window

Ver. 1.05

New Features

  • Preview Audio: Preview auido in edit-mode with the current setting like fade-in, fade-out, random… etc.

  • Shuffle Play Mode: Plays audio clips randomly, ensuring that no clip is repeated until all clips in the list have been played

  • Quick AudioEnity Preference Setting: a new button is added to the entity view in the LibraryManager, which allows you to remove entity, and change the displayed(exposed) properties setting of the AudioType

New APIs and functionalities

  • Added SetPitch() to BroAudio and IAudioPlayer, and implemented it in the Demo

  • Added OnEndPlaying event to IAudioPlayer

  • Extended SoundID’s functionality

  • Added pitch attribute

Improvements

  • Implemented functionality to auto-generate user data to avoid overwriting existing data when upgrading BroAudio

  • Reduced playback latency and improve accuracy by moving the play function from next frame to the end of the current frame

  • Added audio player pool size field to Preference and slightly improve the player pool performance

  • Always display(expose) non-default property value in the LibraryManager

  • Increased volume random range slider accuracy

  • Copied Logo_Main.png to non-Editor folder and update Demo scene reference

Fixes

  • Fixed compile error occur when building the project

  • Fixed comb filtering prevention rejecting all playback when Time.timeScale = 0

  • Fixed SetVolume() not applying to the seamless loop

  • Fixed asset renaming doesn't work as intended after Unity 2023

  • Fixed asset deleting doesn’t work as intended

Ver. 1.04

  • Adjust the public methods of SoundSource to better match the intended design.

  • Improved the AudioPlyer object pool design to avoid accessing a recycled object.

  • Added a warning when trying to access a recycled player, and a preference setting related to it

Ver. 1.03

  • Fix compile errors in WebGL

Ver. 1.02

  • Fix errors occur if there are any missing auido assets when opening Library Manager

  • Fix error occurs when stopping a sound manually

  • Fix comb filitering cannot be disable

  • Fix error occurs after renaming a asset due to the unmatch filename issue

  • Change log comb filtering warning message’s default setting

  • Add a clickable link to documentation for comb filtering instruction

  • Add Stop() and Pause() methods to IAudioPlayer

Ver. 1.01

  • Solved the Unity 2021 Reverb Zone Issue

  • Fixed issue where entities could not be reordered in the LibraryManager

  • Removed BroLog.dll

  • Performance optimization on the editor

Last updated