Plugin Change Log

The Plugin Change Log contains an itemized breakdown of all changes, bug fixes, new features etc. for each of the plugin releases.

Plugin Version 1.0.14 (preview)

Unity

  • Added support for audio layers/stems
  • Added local disk cache for both audio and meta-data
  • Added "offline" mode. NOTE: This requires all data to be loaded into the local disk cache.
  • Updated plugin API
  • Changed terminology from "song" to "track" throughout the plugin
  • Transitions have been expanded to include settings for layers
  • The Plugin is now automatically loaded and runs in the background without the need to attach it to your scenes
  • The Plugin settings have moved to Assets/PlusMusic/Resources/PlusMusicSettingsSo
  • Added a new sample scene to show off an in-game UI that allows for mixing layer audio at runtime
  • Too many to list: Bug fixes, performance improvements, improved messaging system, streamlined code, new EventManager and SceneManager

Unreal

  • Still in development ...

Plugin Version 0.9.24 (beta)

Unity

  • Fixed an issue that could cause the plugin to hang if a soundtrack had multiple version of the same arrangement type
  • Improved error messages for missing arrangements and uncompiled soundtracks/game-packs

Unreal

  • Still in development ...

Plugin Version 0.9.23 (beta)

Unity

  • Fixed issue with PlusMusicSceneManager that prevented the singleton instance of the DJ to stay alive during startup on iOS all devices
  • Improved startup logic for PMLoadSong and PMLoadAllSongs to prevent potential race conditions between scripts
  • Added PlayScrossScenes setting. By default it is turned off. If turned on, any currently playing audio will carry over into the next Scene and keep playing.
  • Fixed several minor issues with our sample scene at Assets/PlusMusic/Scene/PlusMusicSampleScene
  • Fixed several logging inconsistencies in the DJ
  • Made WindDownMainAudio() and TurnUpMainAudio() public

Unreal

  • Still in development ...

Plugin Version 0.9.22 (beta)

Unity

  • Added SetAudioMixerGroup() API call
  • Added ability to specify a subset of soundtracks to the PMLoadAllSongs script
  • Added UseVolume to transitions to make volume changes when playing transitions optional
  • Added ReturnToPrevious to transitions to allow for returning to the previous arrangement after playing the current arrangement
  • NOTE: The above was previously hardcoded into TimeToLive which is now more generic but can still be combined with ReturnToPrevious
  • Added PlusMusicSceneManager class that loads at runtime and manages the PlusMusic plugin across multiple scenes
  • Moved the PlusMusicPlugin prefab to the Resource folder so it can be programmatically loaded
  • Removed several now redundant settings from the PlusMusicPlugin
  • Fixed race condition bug in PMLoadSong
  • Fixed race condition bug in PMPlayArrangement
  • Fixed possible race condition in PMLoadAllSongs
  • Fixed bug the could result into transitions not honoring the volume setting
  • Renamed Api Key to Auth Token to align with the website UI
  • Renamed the following prefabs:  PM_DebugDisplay => PM_UI_DebugDisplay, PM_SettingsPanel => PM_UI_SettingsPanel, PM_TestPanel => PM_UI_TestPanel
  • Removed unused transition creation overloads
  • Reworked the PlusMusicSampleScene and PlusMusicSettings script
  • NOTE: All current in-scene references in your game to the PlusMusicPlugin (formerly known as PlusMusic DJ Source) prefab need to be removed!
  • Your Project ID and Auth Token are now only set once per game in Assets/PlusMusic/Resources/PlusMusicPlugin
  • You can also specify an AudioMixerGroup here if you want to run the PlusMusic audio through an existing AudioMixer
  • Improved logging

Unreal

  • Still in development ...

Plugin Version 0.9.20 (beta)

Unity

  • Fixed transition bug that could result in random initializing values
  • Moved project settings from the main menu to the plugin inspector window
  • Added/expanded auto load/play functionality in the inspector window
  • Added an optional AudioMixerGroup reference to allow using existing audio mixers for our playback
  • Added tooltips to many of the inspector components
  • Added Volume to transitions, allowing you to set the target volume
  • Added TimeToLive to transitions, allowing you to specify a time limit for playing an arrangement after which the plugin will return to playing the previous arrangement
  • Added OnLoadingProjectProgress event
  • Added new scripts to support new functionality: PMLoadProject, PMLoadSong, PMPlayArrangement, PMLoadAllSongs
  • Added several new prefabs to allow for quicker prototyping: PM_LoadProject, PM_LoadSong, PM_Trigger_LoadSong, PM_Trigger_PlayArrangement, PM_PlayDeath, PM_PlayPressure, PM_TestPanel, PM_LoadAllSongs
  • Added new function overload to LoadSoundtrack()
  • Improved the song loading logic
  • Renamed existing prefabs to be more in line with naming conventions: PlusMusic DJ Source => PlusMusicPlugin, DebugDisplay => PM_DebugDisplay, SettingsPanel => PM_SettingsPanel
  • Switched default transition timing to Now instead of NextBeat
  • Updated the sample scene at Assets/PlusMusic/Scene/PlusMusicSampleScene

[DEPRECATED]

  • SetLowPassFilter() use filters on an AudioMixer instead
  • SetMixerSetting() use an AudioMixer instead
  • beats/bars in the PMTimings enum, use NextBeat/NextBar instead
  • EffectTrigger prefab, no longer needed, see SetMixerSetting
  • CurveTriggerSoundtrackSwitch prefab, use PMPlayArrangement instead
  • CurveInDownTriggerSoundtrackSwitch prefab, use PM_Trigger_PlayArrangement prefab instead
  • CurveTriggerSwitchBlock prefab, use PM_Trigger_PlayArrangement prefab instead

Unreal

  • Still in development ...

Plugin Version 0.9.18 (beta)

Unity

  • Fixed intermittent memory leak when calling PlayArrangement()
  • Fixed bug that could prevent the plugin from loading another song that was previously loaded/cached
  • Fixed bug that could cause the plugin to hang if a song was missing arrangements
  • Fixed bug that could cause the plugin to hang if PlayArrangement() was called before the song was fully loaded
  • Updated the sample scene at Assets/PlusMusic/Scene/PlusMusicSampleScene
  • Added several new API functions to support Start/Stop/Pause UI:  StartAudio() / StopAudio() / PauseAudio() / UnPauseAudio()
  • Added GetVolume() API function
  • Added new events to support better UI implementations: OnArrangementChanged / OnAudioStateChanged

Unreal

  • Removed PlusMusicCompressor (which wasn't used anyways) to allow our plugin to work on 5.1.x
  • Fixed bug that could prevent the plugin from loading another song that was previously loaded/cached
  • Fixed bug that could cause the plugin to hang if a song was missing arrangements
  • Fixed bug that could cause the plugin to hang if PlayArrangement() was called before the song was fully loaded
  • Added several new API functions to support Start/Stop/Pause UI:  StartAudio() / StopAudio() / PauseAudio() / UnPauseAudio()
  • Added GetVolume() API function
  • Added new events to support better UI implementations: OnArrangementChanged / OnAudioStateChanged

Plugin Version 0.9.17 (beta)

Unity

  • Songs within a project are now cached after the first time they are downloaded. Once cached, you can switch between songs without delay. The cache is in-memory and only persists for the current game play session.
  • LoadSoundtrackByName() has been added
  • ChangeSoundtrack() has been deprecated, use LoadSoundtrack() or LoadSoundtrackByName() instead
  • Inconsistent use of string and int for numeric values has been fixed, old string version functions are now all deprecated

Unreal

  • Songs within a project are now cached after the first time they are downloaded. Once cached, you can switch between songs without delay. The cache is in-memory and only persists for the current game play session.
  • LoadSoundtrackByName() has been added
  • Inconsistent use of string and int for numeric values has been fixed, old string version functions are now all deprecated
  • Fixed an issue where we were decompressing ogg audio every time we played a sound. We now only decompress once, when the sound is first downloaded.

Plugin Version 0.9.16 (beta)

Unity

  • Fixed issue with mismatching arrangement types between the plugin and the backend database
  • Fixed issue with asynchronous arrangement loading that could result in missing arrangements
  • Greatly simplified arrangement loading code
  • Updated the plugin sample scene PlusMusic/Scene/PlusMusicSampleScene to work with the above changes

Unreal

  • Fixed issue with mismatching arrangement types between the plugin and the backend database
  • Greatly simplified arrangement loading code