Instead of updating music volume (or difficulty) in the Update method on every frame, it could be done with the on value changed event of the slider. That way it is only updated when the value actually changed. I also update the PlayerPrefs at the same time eliminating the need for the SaveAndExit functionality on the back button.
With an update method something like this
public void UpdateVolume()
{
PlayerPrefsController.Volume = volumeSlider.value;
SetMusicPlayerVolume();
}
private void SetMusicPlayerVolume()
{
if (!musicPlayer)
{
return;
}
musicPlayer.SetVolume(volumeSlider.value);
}