Re: REQUEST EXAMPLES AND TUTORIALS HERE
Posted: Sun Jul 04, 2021 4:13 pm
by flibble
Hi,
Thanks for the reply.
All I can find in the docs about prefabs are these 4 lines and, as I'm being dense, they don't help at all.
Right-click the prefab and select Enable Easy Save for Prefab. -- Ok done
Use ES3.Save to save the instance, or an array of instances if you have multiple instances. -- What? Where? How do I reference the original Prefab from this instance? Where does the "Enable Easy Save for Prefab" get used?
To load, use ES3.Load or ES3.LoadInto. -- I'll assume this will click for me once I get the saving part straight in my head!
Easy Save will create an instance of the prefab if it doesn’t exist in the scene. -- cool
I've just found this thread:
https://moodkie.com/forum/viewtopic.php ... 2&start=10
Which is much the same as my problem, looks like it might be helpful as it sounds v similar to my project.
The trouble with docs are that when yourself reads them, they make perfect sense as you understand it inside & out already, some of use have a harder time joining the dots that you assume we can see! Some of us can't
I'd really love (and I've seen others request it to) some video tutorials.
Some of us are very ""Monkey see, monkey do"
Cheers!
Re: REQUEST EXAMPLES AND TUTORIALS HERE
Posted: Sun Jul 04, 2021 6:12 pm
by flibble
Hi again,
Thanks for the super fast responses.
First off, sorry for placing this in the PlayMaker Examples thread, t'was not meant to be here.
The code you gave works but was what I was trying to avoid, it saves all kinds of data that it doesn't need to, my first test save with a bunch of hastily put together prefabs made of primitives, was 55MB in size. If I uncheck the "Save Children" box, its still 14MB and has also lots of info that I was hoping to avoid being saved, colliders, scale, lightmap settings etc etc, I was hoping that as nothing on the prefabs are ever altered, that the text of the save file would read something like:
"prefab" : "Birch0_1a" (The Birch Tree Prefab for example)
"localPosition" : {"x" : 0.14,"y" : 0.97, "z" : 1.58191335},
"localRotation" : {"x" : 0,"y" : 0,"z" : 0.28486082, "w" : 0.958568931},
"localScale" : {"x" : 1, "y" : 1,"z" : 1}
for each item saved, as that's all that it would need as nothing else ever changes.
I'll look instead at just saving just the list of objects myself and instantiating them some other way.
Thanks anyway
Re: REQUEST EXAMPLES AND TUTORIALS HERE
Posted: Fri Jul 30, 2021 2:59 am
by razeta101
Hello,
Im working with playmaker and Game Creator (GC).
Is there a integration to work with GC or a tutorial. I'm currently having problems saving some of the GC componentes. Example.
NotSupportedException: Generic type "GameCreator.Core.SerializableDictionaryBase`2[System.Int32,UnityEngine.Behaviour]" is not supported by Easy Save.
ES3Internal.ES3TypeMgr.CreateES3Type (System.Type type, System.Boolean throwException) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3TypeMgr.cs:129)
ES3Internal.ES3TypeMgr.GetOrCreateES3Type (System.Type type, System.Boolean throwException) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3TypeMgr.cs:32)
ES3Types.ES3ObjectType.Write (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:29)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:225)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Types.ES3Type.WriteProperties (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3Type.cs:81)
ES3Types.ES3ReflectedComponentType.WriteComponent (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedComponentType.cs:16)
ES3Types.ES3ComponentType.WriteUnityObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ComponentType.cs:31)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:45)
ES3Types.ES3UnityObjectType.WriteUsingDerivedType (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:115)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:28)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:223)
ES3Types.ES3DictionaryType.Write (System.Object obj, ES3Writer writer, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3DictionaryType.cs:61)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:212)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:280)
ES3Types.ES3UserType_StateMachineController.WriteComponent (System.Object obj, ES3Writer writer) (at Assets/Easy Save 3/Types/ES3UserType_StateMachineController.cs:28)
ES3Types.ES3ComponentType.WriteUnityObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ComponentType.cs:31)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:45)
ES3Types.ES3UnityObjectType.WriteUsingDerivedType (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:115)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:28)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:223)
ES3Types.ES3DictionaryType.Write (System.Object obj, ES3Writer writer, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3DictionaryType.cs:61)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:212)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:280)
ES3Types.ES3UserType_StateMachineController.WriteComponent (System.Object obj, ES3Writer writer) (at Assets/Easy Save 3/Types/ES3UserType_StateMachineController.cs:28)
ES3Types.ES3ComponentType.WriteUnityObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ComponentType.cs:31)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:45)
ES3Types.ES3UnityObjectType.WriteUsingDerivedType (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:115)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:28)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:223)
ES3Types.ES3ListType.Write (System.Object obj, ES3Writer writer, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3ListType.cs:29)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:206)
ES3Writer.Write (System.Object value, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:161)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:266)
ES3Types.ES3Type_GameObject.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:71)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:223)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Types.ES3Type.WriteProperties (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3Type.cs:81)
ES3Types.ES3ReflectedObjectType.WriteObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedObjectType.cs:20)
ES3Types.ES3ObjectType.Write (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:35)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:225)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Types.ES3Type.WriteProperties (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3Type.cs:81)
ES3Types.ES3ReflectedObjectType.WriteObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedObjectType.cs:20)
ES3Types.ES3ObjectType.Write (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:35)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:225)
ES3Types.ES3DictionaryType.Write (System.Object obj, ES3Writer writer, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3DictionaryType.cs:61)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:212)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:280)
ES3Writer.WritePrivateField (System.String name, System.Object objectContainingField) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:330)
ES3Types.ES3UserType_StateMachineController.WriteComponent (System.Object obj, ES3Writer writer) (at Assets/Easy Save 3/Types/ES3UserType_StateMachineController.cs:27)
ES3Types.ES3ComponentType.WriteUnityObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ComponentType.cs:31)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:45)
ES3Types.ES3UnityObjectType.WriteUsingDerivedType (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:115)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:28)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:223)
ES3Types.ES3ListType.Write (System.Object obj, ES3Writer writer, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3ListType.cs:29)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:206)
ES3Writer.Write (System.Object value, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:161)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:266)
ES3Types.ES3Type_GameObject.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:71)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:223)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Types.ES3Type.WriteProperties (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3Type.cs:81)
ES3Types.ES3ReflectedObjectType.WriteObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedObjectType.cs:20)
ES3Types.ES3ObjectType.Write (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:35)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:225)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Types.ES3Type.WriteProperties (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3Type.cs:81)
ES3Types.ES3ReflectedObjectType.WriteObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedObjectType.cs:20)
ES3Types.ES3ObjectType.Write (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:35)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:225)
ES3Types.ES3DictionaryType.Write (System.Object obj, ES3Writer writer, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3DictionaryType.cs:61)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:212)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:280)
ES3Writer.WritePrivateField (System.String name, System.Object objectContainingField) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:330)
ES3Types.ES3UserType_StateMachineController.WriteComponent (System.Object obj, ES3Writer writer) (at Assets/Easy Save 3/Types/ES3UserType_StateMachineController.cs:27)
ES3Types.ES3ComponentType.WriteUnityObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ComponentType.cs:31)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:45)
ES3Types.ES3UnityObjectType.WriteUsingDerivedType (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:115)
ES3Types.ES3UnityObjectType.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:28)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:223)
ES3Types.ES3ListType.Write (System.Object obj, ES3Writer writer, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3ListType.cs:29)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:206)
ES3Writer.Write (System.Object value, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:161)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:266)
ES3Types.ES3Type_GameObject.WriteObject (System.Object obj, ES3Writer writer, ES3+ReferenceMode mode) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:71)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:223)
ES3Writer.WriteProperty (System.String name, System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.cs:290)
ES3Types.ES3Type.WriteProperties (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3Type.cs:81)
ES3Types.ES3ReflectedObjectType.WriteObject (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/Reflected Types/ES3ReflectedObjectType.cs:20)
ES3Types.ES3ObjectType.Write (System.Object obj, ES3Writer writer) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:35)
ES3Writer.Write (System.Object value, ES3Types.ES3Type type, ES3+ReferenceMode memberReferenceMode) (at Assets/Plugins/Easy Save 3/Scripts/Writers/ES3Writer.c<message truncated>
Thanks.
Re: REQUEST EXAMPLES AND TUTORIALS HERE
Posted: Fri Jul 30, 2021 7:57 am
by Joel
Hi there,
I'm afraid we don't provide support for serializing specific assets (only the Unity API) because it would be their responsibility to make their classes serializable.
In this case it looks like they're using a custom Dictionary which isn't serializable. As a work around you might be able to get the keys and values from the Dictionary as separate arrays, and save these separately. Then when loading, you would use these to reconstruct the Dictionary.
All the best,
Joel