IOS Serialization Errors

Issue #172 resolved
Maulik Kaloliya created an issue

How can we reproduce it? - Just import new plugin in empty project and build in ios What version of Unity are you using? - We are using unity 2017.1f3 What version of Odin are you using? - 1.0.4.1 What operating system are you on? - Mac Sierra 10.12.5 With XCode Version 8.3.3 (8E3004b)

ExecutionEngineException: Attempting to call method 'Sirenix.Serialization.ComplexTypeSerializer`1[[UnityEngine.Quaternion, UnityEngine, Version=0.0.0.0, Culture=, PublicKeyToken=null]]::.ctor' for which no ahead of time (AOT) code was generated.  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.Serializer.Create (System.Type type) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.Serializer.Get (System.Type type) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.ReflectionFormatter`1[T].DeserializeImplementation (.T& value, IDataReader reader) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseFormatter`1[T].Deserialize (IDataReader reader) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseDataReader.SkipEntry () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BinaryDataReader.ExitNode () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseDataReader.SkipEntry () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BinaryDataReader.ExitNode () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseDataReader.SkipEntry () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseDataReader.SkipEntry () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BinaryDataReader.ExitNode () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.ComplexTypeSerializer`1[T].ReadValue (IDataReader reader) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.UnitySerializationUtility.DeserializeUnityObject (UnityEngine.Object unityObject, IDataReader reader) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.UnitySerializationUtility.DeserializeUnityObject (UnityEngine.Object unityObject, System.Byte[]& bytes, System.Collections.Generic.List`1& referencedUnityObjects, DataFormat format, Sirenix.Serialization.DeserializationContext context) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.UnitySerializationUtility.DeserializeUnityObject (UnityEngine.Object unityObject, SerializationData& data, Sirenix.Serialization.DeserializationContext context, Boolean isPrefabData) [0x00000] in <filename unknown>:0   at Sirenix.OdinInspector.SerializedMonoBehaviour.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () [0x00000] in <filename unknown>:0 Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.Serializer.Create (System.Type type) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.Serializer.Get (System.Type type) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.ReflectionFormatter`1[T].DeserializeImplementation (.T& value, IDataReader reader) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseFormatter`1[T].Deserialize (IDataReader reader) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseDataReader.SkipEntry () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BinaryDataReader.ExitNode () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseDataReader.SkipEntry () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BinaryDataReader.ExitNode () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseDataReader.SkipEntry () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BaseDataReader.SkipEntry () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.BinaryDataReader.ExitNode () [0x00000] in <filename unknown>:0   at Sirenix.Serialization.ComplexTypeSerializer`1[T].ReadValue (IDataReader reader) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.UnitySerializationUtility.DeserializeUnityObject (UnityEngine.Object unityObject, IDataReader reader) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.UnitySerializationUtility.DeserializeUnityObject (UnityEngine.Object unityObject, System.Byte[]& bytes, System.Collections.Generic.List`1& referencedUnityObjects, DataFormat format, Sirenix.Serialization.DeserializationContext context) [0x00000] in <filename unknown>:0   at Sirenix.Serialization.UnitySerializationUtility.DeserializeUnityObject (UnityEngine.Object unityObject, SerializationData& data, Sirenix.Serialization.DeserializationContext context, Boolean isPrefabData) [0x00000] in <filename unknown>:0   at Sirenix.OdinInspector.SerializedMonoBehaviour.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () [0x00000] in <filename unknown>:0 Sirenix.Serialization.ReflectionFormatter`1:DeserializeImplementation(T&, IDataReader)Sirenix.Serialization.BaseFormatter`1:Deserialize(IDataReader)Sirenix.Serialization.BaseDataReader:SkipEntry()Sirenix.Serialization.BinaryDataReader:ExitNode()Sirenix.Serialization.BaseDataReader:SkipEntry()Sirenix.Serialization.BinaryDataReader:ExitNode()Sirenix.Serialization.BaseDataReader:SkipEntry()Sirenix.Serialization.BaseDataReader:SkipEntry()Sirenix.Serialization.BinaryDataReader:ExitNode()Sirenix.Serialization.ComplexTypeSerializer`1:ReadValue(IDataReader)Sirenix.Serialization.UnitySerializationUtility:DeserializeUnityObject(Object, IDataReader)Sirenix.Serialization.UnitySerializationUtility:DeserializeUnityObject(Object, Byte[]&, List`1&, DataFormat, DeserializationContext)Sirenix.Serialization.UnitySerializationUtility:DeserializeUnityObject(Object, SerializationData&, DeserializationContext, Boolean)Sirenix.OdinInspector.SerializedMonoBehaviour:UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize() (Filename: currently not available on il2cpp Line: -1)

Comments (5)

  1. Tor Esa Vestergaard

    Hi Maulik,

    We're aware of this issue, and the next patch, 1.0.5, has the ability to scan your project automatically generate an AoT dll that fixes this issue. Please send me your Odin invoice number at tor@sirenix.net, and I will send you the patch, which is currently in the testing phase.

  2. Log in to comment