Я бы порекомендовал начать с актива, такого как EazySoundManagerDemo.Он нуждается в небольшом рефакторинге и уточнении (т.е. он использует 3 массива аудио с 3 наборами функций доступности вместо одного набора с перечислением AudioPurpose для увеличения повторного использования кода).
Это, однако, решает основную проблему, которую выиметь и является хорошим введением в использование менеджера аудио / слоя вместо простого воспроизведения аудио непосредственно из ваших GameObjects.Сделайте это, изучите его, а затем адаптируйте его или создайте собственный слой управления звуком.
Удачи!