On the Windows Phone platform Serializer.SerializeObjectBinary returns an empty string, and Serializer.DeserializeObjectBinary<T> returns null, resulting in AC.options.LoadPrefs throwing a NullReferenceException, at least in the editor when on the Windows Phone build target, and on the Windows Phone itself.
OptionsData is both serialized and stored in Options and SettingsManager.
A possible fix would be to check
#if UNITY_WP8 || UNITY_WINRT on serialization/deserialization of OptionsData or use SaveSystem.GetSaveMethod(), and use XML serialization instead, in both Options and SettingsManager. An even better fix is to generalise the Serializer Serialize* and Deserialize* into a single method, and let only the serializer handle what method to call in the background.
Comments