Full ChangeLog
[3.2.0]
- Added the ability to stop sound, useful for looping sounds that wouldn’t stop otherwise. Practical when you don’t want to stop the full layer.
- Fixed a bug where a random would trigger for a single audio clip.
[3.1.3]
- Modified the Random Pitch feature to allow the user to provide a range, which is simpler to use.
- Fixed a bug in the Random Pitch feature to prevent the random to return 0, which would pause the audio clip.
- Fixed a bug where accessing the Audio.time and .timeSamples with a null clip would print warnings in the console.
- Added more null check prevention on incoming data through public interface and introduced FM_AUDIO_SYSTEM_ERROR_ON_BAD_DATA if you want to receive an error in the unity console when that happens.
[3.1.2]
- Added the ability to configure the Pitch through a random pitch value, usefull to create variety and reduce ear fatigue for “button click” like sounds.
- Exposed more fields from AudioDataCollectionItem and AudioDataCollectionScriptable for easier Editor Time asset creation.
- Added pre-processor directives to handle UNITY_2022_3_OR_NEWER FindObjectOfType deprecation in the Tests suite.
[3.1.1]
- Added the ability to play a list of audio through an Audio Data Scriptable Collection.
- Added delay and override volume for each audio data in collection to achieve mixing sounds together.
- Fixed few bugs with the AudioCollection Random and Sequential features.
[3.1.0]
Breaking Changes – AudioData and AudioDataScritpable
- Added a feature where IAudioData provides an Array of Audio Clips instead of one instance, if more than one is specified, one will be chosen at random.
- Fix Editor assembly definition not targetting only the editor platform and enabled Auto Referenced by default on all ASMDEF.
[3.0.2]
- Added DelaySeconds field that can be set on an AudioData to set a base delay always used when playing the sound.
- Fixed a behavior where playing an AudioData on a Paused layer would not resume other pause audio if any.
[3.0.1]
- Fixed compilation when MOQ_TESTING is not defined.
[3.0.0]
Major changes:
- Renamed Binder class into Mapper, since the former in C# refers to reflection. Same for Bind to Assign instead.
- Changed #if DEVELOPMENT_BUILD for #if DEBUG instead.
- Modified the internal behavior of AudioLayerDispatcher|
- Can now add an AudioLayer on the fly when calling various Play/PlayOneShot functions.
- Can add an AudioLayer using the AudioLayerKey
Other changes:
- Implemented a copy of an AudioSource settings by drag and drop on the AudioDataScriptable Inspector object.
- Added an AudioDataScriptablePlayer MonoBehavior for an easy integration on GameObjects.
- Added PlayOneRandom amongs the provided AudioData array of AudioDataScriptablePlayer for easy sound effect component.
- Added AudioLayerUtils as an ideal way of using the AudioLayer with the AudioDataScriptablePlayer.
- AudioDataScriptablePlayer support for string based custom AudioLayers.
[2.1.2]
- Added Pause support for Crossfade and SmoothVolume.
[2.1.0]
- Fixed AudioSource Pool being destroyed when you switch scene, now uses the DontDestoyOnLoad behavior by default.
- Refactor the internal Crossfading and SmoothVolume to get rid of Coroutines allocation, used the Update loop instead.
[2.0.1]
- Modified the AudioSourcePool constructor to allow specifying DontDestoyOnLoad through a bool param, true will be the default settings when creating an AudioManager without providing an AudioSourcePool instance. Ensute the default implementation will keep its AudioSourcePool through scene loading.
[2.0.0]
- Downgraded to support 2019.4.0.f1 and up.
- Reached code coverage goal of 100% (requires define of MOQ_TESTING and PERFORMANCE_TESTING) to fully reach the 100%.
- Added an IAudioSourceWrapperProvider for future improvement of the internal AudioLayer management.
- AudioLayer removed audioSource.Stop() call and a redundant volume assigment.
- AudioSourcePool return now stop the AudioSource being returned.
- Modified AudioManager interface to better support a non-default implementation injection if needed.
- Modified ToString from AudioLayerKey to return the name instead of the Hash.ToString()
- Removed one overload of the Constructor that took FadeInSeconds in parameter, since you can set it separately.
- AudioSourceWrapper – Fixed potential nullref on debug info function when provided AudioSource has a null clip. Only happens when you define FM_AUDIO_SYSTEM_DEBUG symbols.
- ReassignAudioSource does not reset the fading time anymore, since you can set it separately.
- Fixed potential nullrefs in AudioSourceWrapper when AudioSource is null, now logging an error if FM_AUDIO_SYSTEM_DEBUG is defined.
- Integrated Moq 4.16.1 for Unit Tests and using Preprocessor directive MOQ_TESTING to exclude that code if your project doesn’t have Moq or use a different version of it.
[1.0.1]
- Added one overload to Return function in AudioSourcePool to control whether or not the AudioSource GameObject should be re-parented to the AudioSourcePool Root GameObject.
- Added UnityUtils DestroyObject function to allow AudioSourcePool testing forking between Destroy or DestroyImmediate depending on the playmode.
- Integrated Performance testing, using PERFORMANCE_TESTING preprocessor directive to exclude the code if you don’t have com.unity.test-framework.performance integrated in your project.
[1.0.0]
- Initial version, support layers, crossfade, smooth volume.