itch.io is community of indie game creators and players

Devlogs

Unity Scriptable Object Audio Manager

Unity Scriptable Object Audio Manager
A downloadable tool for Windows, macOS, and Linux
  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
Download Unity Scriptable Object Audio Manager
Leave a comment