Все же давайте отдельный совет , отдельный ответом дам.
У вас сейчас настроики звука сильно связанны с самим компонентом воспроизведения.
По хорошему у вас есть статическая или глобальная (или еще как хотите) структура данных для настроек.
Аля какой-нибудь класс где есть "громкость", "доп эффекты", "выбранный скин" и тп. просто данные.
Меню настроек будет позволять эти данные изменить и сохранить.
А вот скрипт занимающийся воспроизведением - обратиться к этим данным и использует их.
к примеру если назвать класс с настройками GlobalSettings))
public class GlobalSettings
{
public static float musicVolume;
}
то из него берем громкость для скрипта где управляем музыкой
public void Update()
{
AudioListener.volume = GlobalSettings.musicVolume;
}
а вот изменение положение слайдера - будет менять нашу новую глобальную переменную)
float newVolume = //тут как нибудь получаете новое значение
// к примеру из эвента ChangeValue() в слайдере..или еще как
GlobalSettings.musicVolume = newVolume ;
надеюсь я донес общий принцип и смысл того , как я бы сделал настройки
(код писал так из головы, возможны опечатки и неточности, но тут смысл и вариант решения доносил, а не код за вас писал)