Unity Scriptable Object Audio Manager


  1. Singleton pattern:
    • The AudioManager script uses the singleton pattern to ensure that only one instance of the AudioManager exists throughout the game.
    • The instance variable is a static reference to the AudioManager script, allowing other scripts to access its methods and properties.
  2. Awake method:
    • The Awake method is called when the AudioManager script is initialized.
    • It checks if an instance of the AudioManager already exists. If not, it assigns itself as the instance. If an instance already exists, it destroys itself to maintain the singleton pattern.
    • The DontDestroyOnLoad method ensures that the AudioManager object persists across scene changes.
  3. LoadSFXData method:
    • The LoadSFXData method is responsible for loading the SFX data from the Resources folder and populating the sfxDictionary with the SFX identifiers and corresponding SFXData objects.
    • It uses the Resources.LoadAll method to load all instances of the SFXData ScriptableObject from the Resources folder (specified by an empty string in the Resources.LoadAll method).
    • It iterates through the loaded SFXData objects and adds them to the sfxDictionary using the SFX identifier as the key.
    • Duplicate SFX identifiers are handled by displaying a warning in the Unity console.
  4. PlaySFX method:
    • The PlaySFX method is used to play an SFX based on its identifier.
    • It takes the SFX identifier as a parameter.
    • It looks up the corresponding SFXData object in the sfxDictionary using the provided identifier.
    • If the SFXData object is found, it plays the associated audio clip using AudioSource.PlayClipAtPoint. The volume for the SFX is determined by the volume property of the SFXData object.
    • If the SFXData object is not found, a warning is displayed in the Unity console.

The AudioManager script acts as a centralized manager for handling the loading and playing of SFX in your Unity project. It provides a convenient way to organize and access your SFX data and play them from any script in your project.

Files

AudioManagerSO.unitypackage 181 kB
May 27, 2023

Get Unity Scriptable Object Audio Manager

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.