I see Exactly what you are saying. I loaded EasySave 3 into a different game I have.This also is using Steam. The types are there.
The game with Issues has over 1000 types. Would this be a Unity limitation?
ES3Types.ES32DArrayType
ES3Types.ES33DArrayType
ES3Types.ES3ArrayType
ES3Types.ES3CollectionType
ES3Types.ES3DictionaryType
ES3Types.ES3HashSetType
ES3Types.ES3ListType
ES3Types.ES3QueueType
Hangs on Data Saving.
Re: Hangs on Data Saving.
Now available on Steam and XBox!
https://www.animalfriendsAdventure.com
https://www.animalfriendsAdventure.com
Re: Hangs on Data Saving.
Hi there,
Unity is not limited in the number of types it can have. If Easy Save is still running (albeit with the error you're getting), this tells me that the ES3Types are being put into a different assembly. It would be impossible for Easy Save 3 to run without these classes, so they must exist somewhere else.
The easiest way to find out what assembly the types exist in is to iterate over all assemblies and search each one individually until we find the one containing the types. Would you be able to run the script below to find out which assembly they exist in?
Joel
Unity is not limited in the number of types it can have. If Easy Save is still running (albeit with the error you're getting), this tells me that the ES3Types are being put into a different assembly. It would be impossible for Easy Save 3 to run without these classes, so they must exist somewhere else.
The easiest way to find out what assembly the types exist in is to iterate over all assemblies and search each one individually until we find the one containing the types. Would you be able to run the script below to find out which assembly they exist in?
using UnityEngine; using System.Reflection; public class GetAssemblies : MonoBehaviour { public void Awake() { var assemblies = = AppDomain.CurrentDomain.GetAssemblies(); foreach(var assembly in assemblies) { foreach (var type in assembly.GetTypes()) { if(typeof(ES3Type).IsAssignableFrom(type)) { Debug.Log("SUCCESS: ES3Types exist in assembly " + assembly.ToString()); return; } } Debug.Log("ES3Types do *not* exist in assembly "+assembly.ToString()); } } }All the best,
Joel
Re: Hangs on Data Saving.
New Exception error now. I deleted a lot of the "StandardAssets" stuff and the types finally showed up.
This happens when doing a Standalone windows build in Unity 2018.3.12f1 with IL2CPP and either .Net Standard or 4.x as the API level.
System.Reflections did not have the AppDomain namespace and I could not run the script you provided earlier.
Uploading Crash Report
TypeLoadException: Type list could not be initialised. Please contact Easy Save developers on mail@moodkie.com.
at ES3Internal.ES3TypeMgr.Init () [0x00000] in <00000000000000000000000000000000>:0
at ES3Internal.ES3TypeMgr.GetOrCreateES3Type (System.Type type, System.Boolean throwException) [0x00000] in <00000000000000000000000000000000>:0
at ES3Writer.Write (System.Object value, ES3+ReferenceMode memberReferenceMode) [0x00000] in <00000000000000000000000000000000>:0
at ES3Internal.ES3JSONWriter.StartWriteProperty (System.String name) [0x00000] in <00000000000000000000000000000000>:0
at ES3Writer.Write[T] (System.String key, System.Object value) [0x00000] in <00000000000000000000000000000000>:0
at ES3.Save[T] (System.String key, System.Object value, ES3Settings settings) [0x00000] in <00000000000000000000000000000000>:0
at DataUtil+<SaveCo>d__23.MoveNext () [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <00000000000000000000000000000000>:0
This happens when doing a Standalone windows build in Unity 2018.3.12f1 with IL2CPP and either .Net Standard or 4.x as the API level.
System.Reflections did not have the AppDomain namespace and I could not run the script you provided earlier.
Uploading Crash Report
TypeLoadException: Type list could not be initialised. Please contact Easy Save developers on mail@moodkie.com.
at ES3Internal.ES3TypeMgr.Init () [0x00000] in <00000000000000000000000000000000>:0
at ES3Internal.ES3TypeMgr.GetOrCreateES3Type (System.Type type, System.Boolean throwException) [0x00000] in <00000000000000000000000000000000>:0
at ES3Writer.Write (System.Object value, ES3+ReferenceMode memberReferenceMode) [0x00000] in <00000000000000000000000000000000>:0
at ES3Internal.ES3JSONWriter.StartWriteProperty (System.String name) [0x00000] in <00000000000000000000000000000000>:0
at ES3Writer.Write[T] (System.String key, System.Object value) [0x00000] in <00000000000000000000000000000000>:0
at ES3.Save[T] (System.String key, System.Object value, ES3Settings settings) [0x00000] in <00000000000000000000000000000000>:0
at DataUtil+<SaveCo>d__23.MoveNext () [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00000] in <00000000000000000000000000000000>:0
Now available on Steam and XBox!
https://www.animalfriendsAdventure.com
https://www.animalfriendsAdventure.com
Re: Hangs on Data Saving.
Hi there,
My apologies, it looks like I missed off the top using statement in the script. This script should work:
Please could you PM me a basic project which replicates this so I can try to understand what is happening?
All the best,
Joel
My apologies, it looks like I missed off the top using statement in the script. This script should work:
using System; using UnityEngine; using System.Reflection; public class GetAssemblies : MonoBehaviour { public void Awake() { var assemblies = = AppDomain.CurrentDomain.GetAssemblies(); foreach(var assembly in assemblies) { foreach (var type in assembly.GetTypes()) { if(typeof(ES3Type).IsAssignableFrom(type)) { Debug.Log("SUCCESS: ES3Types exist in assembly " + assembly.ToString()); return; } } Debug.Log("ES3Types do *not* exist in assembly "+assembly.ToString()); } } }With regards to the error you've posted, this looks like the same error. I've tried to use your instructions to replicate it but I don't seem to be able to.
Please could you PM me a basic project which replicates this so I can try to understand what is happening?
All the best,
Joel