I have two UISliders for music and volume. OnSliderChange for each accurately changes the PlayerPref value for each and is clearly stored and saved after much testing. When I run the game it appears that OnSliderChange is automatically called for each slider to initialize them to whatever you have set in the editor, and this occurs in Start() making me not understand how to use my UIManager singleton to update the sliders since Start() in my manager fires before (sometimes after, Unity..) the initial slider init fires.
Not sure what I'm missing but I can't see what order to execute code to be able to read player prefs in and set each..
void Start () {
MusicSlider.sliderValue = GameManager.Instance.playerData["Player"].musicVolume;
SoundSlider.sliderValue = GameManager.Instance.playerData["Player"].soundVolume;
}