Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Easy Save - The Complete Save Data & Serialization Asset

Discussion in 'Assets and Asset Store' started by JoelAtMoodkie, May 28, 2011.

  1. K614

    K614

    Joined:
    Oct 12, 2021
    Posts:
    5
    I get an error when trying to load an image component. How can I resolve it?

    InvalidOperationException: alphaHitTestMinimumThreshold should not be modified on a texture not readeable or not using Crunch Compression.
    UnityEngine.UI.Image.set_alphaHitTestMinimumThreshold (System.Single value) (at ./Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Image.cs:642)
    ES3Types.ES3Type_Image.ReadComponent[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/Component Types/ES3Type_Image.cs:80)
    ES3Types.ES3ComponentType.ReadUnityObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ComponentType.cs:36)
    ES3Types.ES3UnityObjectType.ReadObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3UnityObjectType.cs:64)
    ES3Types.ES3ObjectType.ReadInto[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:75)
    ES3Types.ES3Type_GameObject.ReadComponents (ES3Reader reader, UnityEngine.GameObject go) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:233)
    ES3Types.ES3Type_GameObject.ReadObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:176)
    ES3Types.ES3ObjectType.ReadInto[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:75)
    ES3Types.ES3Type_GameObject.ReadObject[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:136)
    ES3Types.ES3ObjectType.Read[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:52)
    ES3Reader.ReadObject[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:253)
    ES3Reader.Read[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:282)
    ES3Reader.Read[T] (System.String key, T defaultValue) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:216)
    ES3.Load[T] (System.String key, T defaultValue, ES3Settings settings) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:507)
    ES3.Load[T] (System.String key, T defaultValue) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:469)
    test2.test () (at Assets/test2.cs:17)
    UnityEngine.Events.InvokableCall.Invoke () (at /Users/bokken/build/output/unity/unity/Runtime/Export/UnityEvent/UnityEvent.cs:178)
    UnityEngine.Events.UnityEvent.Invoke () (at /Users/bokken/build/output/unity/unity/artifacts/generated/UnityEvent/UnityEvent_0.cs:57)
    UnityEngine.UI.Button.Press () (at ./Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:70)
    UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at ./Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:114)
    UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at ./Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:57)
    UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at ./Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:272)
    UnityEngine.EventSystems.EventSystem:Update() (at ./Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:530)
     
  2. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    As the error suggests, you need to make the Image's Texture readable for the alphaHitTestMinimumThreshold to be saveable. Alternatively if you don't need to save this aspect of the Image, if you private message me your invoice number or order number I can send over an update which excludes it.

    All the best,
    Joel
     
  3. K614

    K614

    Joined:
    Oct 12, 2021
    Posts:
    5

    How can I make an image readable?
    There is no error in LTS2021, but an error occurs in LTS2022
     
  4. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
  5. K614

    K614

    Joined:
    Oct 12, 2021
    Posts:
    5
    JoelAtMoodkie likes this.
  6. K614

    K614

    Joined:
    Oct 12, 2021
    Posts:
    5
    FormatException: Expected '{' or "null", found ','.
    ES3Internal.ES3JSONReader.ReadNullOrCharIgnoreWhitespace (System.Char expectedChar) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3JSONReader.cs:357)
    ES3Internal.ES3JSONReader.StartReadObject () (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3JSONReader.cs:111)
    ES3Types.ES3Type_GameObject.ReadComponents (ES3Reader reader, UnityEngine.GameObject go) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:198)
    ES3Types.ES3Type_GameObject.ReadObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:176)
    ES3Types.ES3ObjectType.ReadInto[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:75)
    ES3Types.ES3Type_GameObject.ReadObject[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:136)
    ES3Types.ES3ObjectType.Read[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:52)
    ES3Reader.ReadObject[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:253)
    ES3Reader.Read[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:282)
    ES3Reader.Read[T] (System.String key, T defaultValue) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:216)
    ES3.Load[T] (System.String key, T defaultValue, ES3Settings settings) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:507)
    ES3.Load[T] (System.String key, T defaultValue) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:469)
    Test.Save () (at Assets/Test.cs:22)
    UnityEngine.Events.InvokableCall.Invoke () (at /Users/bokken/build/output/unity/unity/Runtime/Export/UnityEvent/UnityEvent.cs:178)
    UnityEngine.Events.UnityEvent.Invoke () (at /Users/bokken/build/output/unity/unity/Runtime/Export/UnityEvent/UnityEvent/UnityEvent_0.cs:58)
    UnityEngine.UI.Button.Press () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:70)
    UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/UI/Core/Button.cs:114)
    UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/ExecuteEvents.cs:57)
    UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at Library/PackageCache/com.unity.ugui@1.0 .0/Runtime/EventSystem/ExecuteEvents.cs:272)
    UnityEngine.EventSystems.EventSystem:Update() (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:514)

    An error like this has occurred, how can I resolve it?
     
  7. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    This usually means that the save data you're loading doesn't match the type it's being loaded into. Usually deleting your save data will resolve this (Tools > Easy Save 3 > Clear Persistent Data Path). You should also ensure you're using the la latest version of Easy Save.

    If this doesn't resolve your issue please could you replicate it in a new project with a simple scene and private message it to me with your order number.

    All the best,
    Joel
     
  8. K614

    K614

    Joined:
    Oct 12, 2021
    Posts:
    5
    thank you for your reply.
    I couldn't get it to work, so I sent a private message.
     
  9. Falondrian

    Falondrian

    Joined:
    Nov 1, 2017
    Posts:
    73
    Hi Joel, last year I made these requests and you added them all as individual requests in your forum. Unfortunatelly none have them have been implemented yet but thats fine for me, I worked around it by using JSONUtility for serialization and saving/loading to ES3 as a blob. Just a note though: I saw you have another feature request for supporting Game Creator, flagged with "research required" - I am happy to tell you that I already did that research for you because all of my requests were issues encountered with Game Creator 2. You might want to link those.
     
  10. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Sorry, I'm not sure I understand. Please could you point me towards the request flagged with Research Required. And by "all of your requests" do you mean the list in the post you've quoted?

    Just to clarify, 4b has been implemented if that helps.

    All the best,
    Joel
     
  11. Morillan

    Morillan

    Joined:
    Mar 6, 2013
    Posts:
    8
    Hi,

    I got this error when "loading all" using a key, "saving all" the progress in the same key and loading it again. It only happens if I load and save the same key in the same scene.


    System.FormatException: Expected ',' separating properties or '"' before property name, found '3'.
    at ES3Internal.ES3JSONReader.ReadPropertyName () [0x0007e] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3JSONReader.cs:74
    at ES3Types.ES3Type.ReadPropertyName (ES3Reader reader) [0x00016] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\Scripts\Types\ES3Type.cs:70
    at ES3Types.ES3ObjectType.Read[T] (ES3Reader reader) [0x00000] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\Scripts\Types\ES3ObjectType.cs:44
    at ES3Reader.ReadObject[T] (ES3Types.ES3Type type) [0x00012] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:253
    at ES3Reader.Read[T] (ES3Types.ES3Type type) [0x00076] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:282
    at ES3Types.ES3DictionaryType.Read (ES3Reader reader) [0x0003e] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\Scripts\Types\Collection Types\ES3DictionaryType.cs:99
    at ES3Reader.Read[T] (ES3Types.ES3Type type) [0x00064] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:280
    at ES3Reader.Read[T] () [0x00000] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\Scripts\Readers\ES3Reader.cs:126
    at ES3Types.ES3Type_PMDataWrapper.ReadObject[T] (ES3Reader reader, System.Object obj) [0x0005a] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\PlayMaker\ES3PlayMaker.cs:1789
    at ES3Types.ES3Type_PMDataWrapper.ReadObject[T] (ES3Reader reader) [0x00006] in C:\Jesus\Unity Projects\Caballero Y Mono_Demo_36\Assets\Plugins\Easy Save 3\PlayMaker\ES3PlayMaker.cs:1810 ....................

    The thing goes on and on forever. This is just the first lines of the error.

    I´m using Easy Save 3.5.6 and Unity LTS 2022.3.14f1. I´m using Playmaker in my game.
     
  12. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    I don't appear to be able to replicate this and I've had no other reports of this. Please could you replicate this in a new project with a simple scene and send me a link to it at Moodkie.com/contact along with instructions and your order or invoice number

    All the best,
    Joel
     
  13. Shortay91

    Shortay91

    Joined:
    Nov 15, 2012
    Posts:
    29
    Hi Joel,

    I got this error below.

    This only happens if I re-save a loaded ES3 File.

    Otherwise everything loads fine if it's not from a loaded file.

    FormatException: Expected '{' or "null", found ','.
    ES3Internal.ES3JSONReader.ReadNullOrCharIgnoreWhitespace (System.Char expectedChar) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3JSONReader.cs:359)
    ES3Internal.ES3JSONReader.StartReadObject () (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3JSONReader.cs:111)
    ES3Types.ES3Type_GameObject.ReadComponents (ES3Reader reader, UnityEngine.GameObject go) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:198)
    ES3Types.ES3Type_GameObject.ReadObject[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:176)
    ES3Types.ES3ObjectType.ReadInto[T] (ES3Reader reader, System.Object obj) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:75)
    ES3Types.ES3Type_GameObject.ReadObject[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/Unity Types/ES3Type_GameObject.cs:136)
    ES3Types.ES3ObjectType.Read[T] (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/ES3ObjectType.cs:52)
    ES3Reader.ReadObject[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:253)
    ES3Reader.Read[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:282)
    ES3Types.ES3CollectionType.ReadICollection[T] (ES3Reader reader, System.Collections.Generic.ICollection`1[T] collection, ES3Types.ES3Type elementType) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3CollectionType.cs:52)
    ES3Types.ES3ArrayType.Read (ES3Reader reader) (at Assets/Plugins/Easy Save 3/Scripts/Types/Collection Types/ES3ArrayType.cs:36)
    ES3Reader.Read[T] (ES3Types.ES3Type type) (at Assets/Plugins/Easy Save 3/Scripts/Readers/ES3Reader.cs:278)
    ES3.Deserialize (ES3Types.ES3Type type, System.Byte[] bytes, ES3Settings settings) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:882)
    ES3.Deserialize[T] (System.Byte[] bytes, ES3Settings settings) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:871)
    ES3File.Load[T] (System.String key, T defaultValue) (at Assets/Plugins/Easy Save 3/Scripts/ES3File.cs:257)
    ES3.Load[T] (System.String key, T defaultValue, ES3Settings settings) (at Assets/Plugins/Easy Save 3/Scripts/ES3.cs:501)
    ES3AutoSaveMgr.Load () (at Assets/Plugins/Easy Save 3/Scripts/Auto Save/ES3AutoSaveMgr.cs:94)
    Load.Start () (at Assets/Scripts/MonoBehaviour/EditorBehaviours/Load.cs:14)

    *EDIT*

    This may be resolved now, I think I accidently added the ES3 prefab script in the auto save. Ever since unchecked the script, it's stopped doing this.
     
    Last edited: Dec 8, 2023
  14. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Glad you managed to resolve the issue.

    All the best,
    Joel
     
  15. wechat_os_Qy0-lnCWDQzz74ps0Ed8OjJCM

    wechat_os_Qy0-lnCWDQzz74ps0Ed8OjJCM

    Joined:
    Jun 4, 2020
    Posts:
    2
    Hi Joel,

    I have the same problem, and I want to know that when the error occurs if there are someways I can know exactly which one is the "wrong type" one? Or can I automatically delete the wrong type one so that the loading will not be interrupted.Or can I automatically delete the whole save data so the game will not be interrupted.Because sometimes the old version save data and the new version ones always have some different type of variate.
    Thank you!
     
  16. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    You can catch the FormatException and react accordingly. See the Error Handling guide for more information:
    https://docs.moodkie.com/easy-save-3/es3-guides/error-handling/

    All the best,
    Joel
     
  17. wechat_os_Qy0-lnCWDQzz74ps0Ed8OjJCM

    wechat_os_Qy0-lnCWDQzz74ps0Ed8OjJCM

    Joined:
    Jun 4, 2020
    Posts:
    2
    Hi Joel,
    Thanks for your answer! And I have some more question:
    1. How can I get the current progress value of the data loading or saving? I want to make a loading/saving progress bar so the player knows exactly how long it will take to finish the data loading/saving, but I can`t find the exactly value of the progressing.
    2. Does ES3 have any way to create a deep copy of a variate or class automatically when saving? Or I can only make a deep copy of a variate manually? Is there anyway else to correctly use the save method with thread? I tried some ways, but the error "InvalidOperationException: Collection was modified; enumeration operation may not execute." troubles.


    Hope for your answer, thank you so much!
     
  18. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Saving happens synchronously so there isn't progress to be reported. In the vast majority of projects saving is so fast that it happens immediately. You can use Easy Save in your own thread but you need to ensure that you only call it from one thread at a time and that your data is thread safe (judging by the error you're getting, it's the latter which is causing you issues).

    I'm not sure I understand what you mean. Could you clarify?

    All the best,
    Joel
     
  19. moko-chan

    moko-chan

    Joined:
    May 7, 2022
    Posts:
    6
    Hello, Mr. Joel. I am a new user, and I hope you can help me.
    I would like to learn how to implement Autosave functionality connected to ES3Cloud.
    Specifically, I want to save the active status of my game objects (SetActive) and some text data.
    Could you provide me with an example?
    My English isn’t very good. I’m sorry for the inconvenience.
    Thank you in advance for your assistance.
     
  20. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    ES3Cloud and Auto Save are two separate things, so firstly you would follow the Auto Save guide to save your active state:
    https://docs.moodkie.com/easy-save-3/es3-guides/auto-save-saving-without-code/

    You would then use the ES3Cloud guide to set up ES3Cloud on your server and upload and download the file created by Auto Save:
    https://docs.moodkie.com/easy-save-3/es3-guides/saving-loading-files-to-web-using-es3cloud/

    There's also an example of using ES3Cloud here if you require it:
    https://moodkie.com/forum/viewtopic.php?t=1436

    All the best,
    Joel
     
  21. EpicMcDude

    EpicMcDude

    Joined:
    Apr 15, 2013
    Posts:
    117
    Hello,

    Having an issue with saving and loading an empty game object variable. I made another empty project with just these FSMs to replicate the issue from my main project and it happens without fail.
    upload_2024-1-9_19-7-41.png
    upload_2024-1-9_19-7-23.png
    I "Quicksave" and then "Quickload" without issues, but trying to Quicksave again will result in a "Null reference exception" error.

    upload_2024-1-9_19-18-37.png
     
  22. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Please could you send me a link to the basic project you've created along with your order or invoice number and instructions using the form at moodkie.com/contact.

    All the best,
    Joel
     
    EpicMcDude likes this.
  23. moko-chan

    moko-chan

    Joined:
    May 7, 2022
    Posts:
    6
    Hello Mr.Joel,

    Thank you very much for responding so quickly. I went in to read the information you recommended and have been trying to understand it since the day you replied. Since I have almost no knowledge of coding, it takes me quite a while. Currently, I have no issue with auto-save; it's excellent that it can save without using code. Regarding ES3Cloud, I have successfully installed it on the server and tested the example project you suggested, and it worked without any problems.

    Now, I would like to ask you for further guidance. In order to transfer the saved data from auto-save to the server, do I need to modify the ES3CloudManager script in the part "var prefabMgrs = FindObjectsOfType<ES3AutoSaveMgr>();" on "IEnumerator UploadFile()" ?
    Also, is it necessary to modify the ES3AutoSaveMgr script as well? I'm not sure where to start, to be honest.
     
  24. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    You shouldn't ever need to modify any of the scripts included with Easy Save, and I'm not aware of a script called 'ES3CloudManager', could you let me know where you got this script from?

    Generally to upload an Auto Save file you would just upload with the same filename as specified in your Auto Save settings. For more information on how to upload and download a file see the ES3Cloud guide.

    All the best,
    Joel
     
  25. moko-chan

    moko-chan

    Joined:
    May 7, 2022
    Posts:
    6
    I got 'ES3CloudManager' script from the link that you give me before.

    There's also an example of using ES3Cloud here if you require it:
    https://moodkie.com/forum/viewtopic.php?t=1436
     
  26. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Thanks for the clarification. Auto Save saves to the default file, so the example will still work because it uploads and downloads the default file. I.e.

    Code (CSharp):
    1. yield return StartCoroutine(cloud.UploadFile());
    Code (CSharp):
    1. yield return StartCoroutine(cloud.DownloadFile());
    However, if you're saving to a different file then you can just provide the filename as a parameter to the Upload and Download methods. I.e.

    Code (CSharp):
    1. yield return StartCoroutine(cloud.UploadFile("MyFile.es3"));
    Code (CSharp):
    1. yield return StartCoroutine(cloud.DownloadFile("MyFile.es3"));
    All the best,
    Joel
     
  27. moko-chan

    moko-chan

    Joined:
    May 7, 2022
    Posts:
    6
    Mr.Joel, I very much appreciate your help.

    I use auto-save to store the component values of images in game objects.
    And use the "ES3CloudManager" script as you recommended to upload the SaveFile.es3 data to the server when closing the application and download the data from the server when opening the application.
    However, the returned SaveFile.es3 does not restore the component values of images in the game objects that I have saved.
    For example, I press a button to change the color of an image from white to red, close the application, delete the SaveFile.es3 file in local save, and when I reopen the application, the SaveFile.es3 file appears in local save, but the image remains white instead of being red.
    Could you please help me out with this?
     
  28. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Please could you create a support ticket at moodkie.com/contact with the code you're using to upload and download, and when you're calling Auto Save (I.e. you will need to ensure that you're loading from Auto Save after downloading the data from the server) and your order or invoice number.

    All the best,
    Joel
     
  29. moko-chan

    moko-chan

    Joined:
    May 7, 2022
    Posts:
    6
    Hi Mr.Joel,

    I sent a message through Contact us at Moodkie.
    Thank you for your assistance.
     
  30. moko-chan

    moko-chan

    Joined:
    May 7, 2022
    Posts:
    6
    Hello Mr. Joel,

    I suspect there might be an issue with my email as I haven't received your reply.
    It's possible that my email didn't reach you or ended up in your junk folder.
    Would it be acceptable if I use another email to reach out through Contact Us at Moodkie, referencing the support ticket number?

    I appreciate your understanding and apologize for any inconvenience.
     
  31. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Yes, that's a good idea. We've responded to your ticket and didn't get an undelivered email back so it indeed looks like there's something wrong :)

    All the best,
    Joel
     
  32. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Thanks for creating a new ticket, I've just replied so please let me know that you've received this response.
     
  33. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,075
    Hi I use ES3 and Playmaker. There is two actions to load Image and Load Audio but there no action to load a material! I need to load a material from streaming folder.
     
  34. JoelAtMoodkie

    JoelAtMoodkie

    Joined:
    Oct 18, 2009
    Posts:
    912
    Hi there,

    Saving and Loading Materials is done using the normal ES3.Save and ES3.Load methods (though this will only work with Materials which have been saved with Easy Save).

    However, it sounds like you're trying to load a Unity Material asset, in which case you should be using Unity's AssetBundles or Addressables APIs (see the very last sentence of Unity's Streaming Assets guide: https://docs.unity3d.com/Manual/StreamingAssets.html)

    All the best,
    Joel
     
    ksam2 likes this.