Audio Manager

A free audio/sound management system for Unity with automatic library management & more!

CodeFactor GitHub release (latest by date) Unity

๐ŸŸฅ Description

The Audio Manager is built with the intention of handling all the hard work for you and just letting you get out with making your games. The manager automatically detects the audio clips in your project and sorts them into a library for use. From there you can assign clips and music tracks, define groups of clips to play from a single call, and more.

The asset is focused on code based audio playing, where you provided the calls and parameters in your codebase to have the audio play. There are inspector players for quick prototyping without needing to write any extra code should that be your use case. But functionality may be limited.

All audio provided in the project’s demos are under CC0 licenses. Demo scenes can be removed on import and will not break the asset.

๐ŸŸฅ Brief feature list

  • Automatic scanning of audio clips in the project.
  • Dynamic start time for each clip to start where it starts playing audible audio, cutting out dead space.
  • Flexible API for playing audio clips or groups of clips.
  • Editor to manage the library, assign groups of clips together, and music track lists.
  • No setup is needed, just import and go.
  • Entirely static API, no scene references are needed.
  • Music playing setup.
  • Inspector players for quick prototyping without needing to write any code.

๐ŸŸฅ How to Install & Where to start

  • Import the package into your project.
  • That should be it!
  • The asset has all other setup done already as it is automated. If you get prompted to perform an initial audio scan, please do so.

The inspector allows users to play audio from the audio library like you can with the normal API but just from the inspector. The editor has options to apply some of the edit modules, play a single track/defined group and listen to events the setup would normally trigger.

To play a clip from the inspector player, just reference it to another class or use a button unity event etc. to call Play() on the class.

Like 2.x the API is mostly the same but with a few edits. The same Play(), PlayFromTime(), PlayWithDelay() etc are present, but you can apply Edit Modules to any method which let you make these edits as needed. There are the common volume & pitch edits for all method variations, but for other edits the modules are used instead to save needing 1000s of lines of method overrides.

You can play from a collection of clips with the group play methods, which work the exact same as the standard ones, but with groups. These can be defined in the library editor or in code should you wish.