Skip to content

3.1 Release

Latest
Compare
Choose a tag to compare
@jackyyang09 jackyyang09 released this 22 Nov 18:32

About time for a new release! I've been using JSAM myself for the past while, building a collection of small fixes and additions. Finally got the time to compile them in one release. In retrospect, I probably should've done a bunch of smaller commits in the development branch, I'll endeavour to do that in the future.

Before upgrading, remember to make a backup of your project just in case.
When upgrading using the .unitypackage, delete your old JSAM folder first before importing the new one.

Major Changes

  • You can now load and unload multiple AudioLibraries in AudioManager. This is especially useful for larger projects where you don't want all your sounds loaded on startup
    • This upgrade erases the Library reference set to the AudioLibrary variable, replacing it with a new Preloaded Libraries field
    • Added new AudioLibraryLoader component that lets you quickly implement Library loading/unloading
    • AudioLibrary now has function IsLoaded, useful for checking if the Library is currently loaded before attempting to load/unload it
    • List of Loaded Libraries is shown in the AudioManager
  • Fade In/Out and Loop Point authoring tools are now equally functional for both Music and Sound File Objects (previously Fade support for Music and Loop support for Sounds was lacking)
  • You now have more access to Audio Manager's Volume settings (#37)
    • Added VolumeListener component, letting you benefit from AudioManager's volume setting management with specific AudioSources that you control yourself. You can experiment with it in the new Extra Tips sample
    • Updated VideoPlayerVolume so it's manner of usage is similar to VolumeListener
    • Previously you were only able to get the Volume level of a specific channel using AudioManagerInternal.Instance.MusicVolume and the real Volume value used for AudioSources using AudioManagerInternal.Instance.ModifiedMusicVolume
    • Now, you can subscribe to AudioManager.OnMusicVolumeChanged which has been changed to pass both of those values as parameters
  • Audio File Scriptable Objects are now marked partial to allow for more extensibility in your own projects! (This requires installing the package as .unitypackage or copying local package contents outside of the PackageCache folder)

Minor Changes

  • Upgraded Sample Scenes and some code to work in Unity 6 (#43)
  • OnSoundPlayed, OnMusicPlayed and OnVoicePlayed events now pass the ChannelHelper used to play said sounds to help facilitate post-play processing (such as getting the Transform of the played audio)
  • PlaySound/PlayMusic methods in Sound/Music File Objects (sfo.PlaySound) now return Helper components, just as they do in AudioManager.PlaySound
  • Improved audio fading logic so it registers changes to Fade In/Out positions on the fly
  • When the Audio Playback Tool is open, selecting any Audio File Object or AudioClip in the inspector will preview that asset in the Tool window
  • Adjusted FPS Sample
    • Added some explicit materials to make use in Scriptable Render Pipelines easier
    • The scene is now more appealing, also the cube jumps based on World Up
  • Removed AudioListener field from AudioManager since its easily found and always present
  • Removed MainMusicEnumAsInt property

Fixes

  • Fixed looping audio pre-maturely stopping when Unity loses focus (#30)
  • Fixed AudioClips getting overwritten by included and generated Audio File Object Presets (#41)
  • Fixed AudioManager.FadeMusicIn always returning the MainMusicHelper (#45)
  • Fixed MusicPlayer component not working properly
  • Fixed AudioManager only limiting number of sounds playing when the number of playing instances is 1 over the set limit
  • Fixed Audio Player components throwing an error during rendering when no AudioManager is found in the scene
  • Fixed AudioPlaybackTool not properly looping audio
  • Fixed Audio File Wizard throwing errors if an Audio Clip dragged into its staging area is deleted
  • Fixed included and newly generated presets overwriting the files field of Audio File Objects
  • Fixed foldout nesting error in Sound File Object inspector appearing when File list was empty
  • Fixed inconsistent sound enums and broken interactions in Shmup2D sample
  • BaseSoundFileObject is no longer subscribed to Master Volume change events since its specific channel changing volume is sufficient