Как выключить звук во всей игре с помощью Toggle? Unity
У меня есть два Toggle, один отвечает за фоновую музыку, второй за звук нажатия кнопок. У меня есть AudioMixer для каждого из них. И есть скрипт для каждого. Скрипт для фоновой музыки.
public class ToggleSwitcher : MonoBehaviour
{
public AudioMixer Music;
public void OnToggleSwitch(bool value)
{
if (!value)
{
PlayerPrefs.SetFloat("Volume", -80f);
Music.SetFloat("VolumeMusic", -80);
Debug.Log("Работает, громкость убрали");
}
else
{
PlayerPrefs.SetFloat("VolumeMusic", 0f);
Music.SetFloat("VolumeMusic", 0);
}
}
}
Скрипт для звука нажатия
public class ToggleSwitcherSFX : MonoBehaviour
{
public AudioMixer Music;
public void OnToggleSwitch(bool value)
{
if (!value)
{
AudioListener.volume = -80f;
PlayerPrefs.SetFloat("VolumeSoundEffect", -80f);
Music.SetFloat("VolumeSoundEffect", -80);
Debug.Log("Работает, громкость убрали");
}
else
{
AudioListener.pause = false;
PlayerPrefs.SetFloat("VolumeSoundEffect", 0f);
Music.SetFloat("VolumeSoundEffect", 0);
}
}
}
На данный момент есть 2 проблемы. 1 при запуске срабатывает сразу звук нажатия кнопки, хотя кнопка не была нажата. 2 Не работает выключение звука.
На сцене настроек есть только SFX, Music находится на стартовой страница и потом заноситься в DontDestroyOnLoad.
Вот Toggle Music
, а вот Toggle SFX 
Также вот окно Миксера
, Expose Volume to script было сделано. Помогите пожалуйста уже весь интернет облазил, так и не нашел решение.