Search Unity

[RELEASE] allSAVE Pro 1.1.3: Automated serialization - Add saving/loading to your project in seconds

Discussion in 'Assets and Asset Store' started by ProceduralJOYE, Feb 25, 2017.

  1. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    ===================

    --- allSave Pro ---

    ===================
    - Version 1.0.1 -
    ===================


    Note: allSAVE pro has just been released!. It's a very simple and powerful solution for saving/loading. I'm very proud of it and hope you all will like it.

    https://www.assetstore.unity3d.com/en/#!/content/82582


    =============================
    ---- What is allSave Pro ----
    =============================

    allSAVE Pro allows you to add saving/loading to your project within seconds of installing the asset. Saving and loading are essential features that can otherwise be quite difficult and time consuming to implement, allSAVE Pro was developed to fix that.​

    No coding required. No node-based systems or special tracking components. Just a few clicks and you are done.​


    Quicksaves, autosaves, encryption, compression, auto-backups, and more are all as simple as clicking a tick-box.​






    =============================
    ---- Features----
    =============================

    Automatically inspects & supports custom types. No need to write code to support your own scripts/components.

    All System Collection types are supported, including Lists, Dictionaries, Arrays of any dimension and jagged arrays. System collections may be nested or used together in any other way.

    Capable of saving/loading state of over 300 Unity types, not just a small handful of the most common.

    Saves & loads coroutines. On load, resumes from where they left off, retaining state of local variables.

    Quicksave, autosaves and backups work out of the box.

    Encryption and Compression (very tight LZMA compression)

    Does not modify your assets/prefabs

    Delegates & events are correctly saved & loaded. There's no need to resubscribe to notifications after loading. Even custom delegate types are supported and need not be rebuilt in a post-serialization step.

    Easily customise file headers. Useful for displaying stats in menus e.g. hearts, level, screenshot, time, etc (with included examples!)

    Easily customise saving/loading progress UI. Again, no need to write a single line of code to add these.

    If you want to take direct control of how scripts save, it's easy to extend the code (& you've 400+ examples)

    Support for serializing custom scripts written in C# AND UnityScript.

    Includes a coroutine controller that allows you to start coroutines from objects that aren't MonoBehaviours


    Has currently only been tested on PC but further platform support planned based on demand.​
     
    Last edited: Mar 13, 2017
    tapawafo likes this.
  2. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    We have now released!
     
  3. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,532
    That actually looks pretty amazing. You should post a direct link to the store page.

    How big are the save files, and is bloating on large projects an issue? Do you have to 'recompile' the tool every time you change the project? Does that break old save files?
     
  4. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Thanks LaneFox. Don't know why I didn't post the direct link. Here it is: https://www.assetstore.unity3d.com/en/#!/content/82582
    I'll edit it into the OP (rookie error...)

    With regards to file-size: The main factor is whether or not you have the compression feature turned on. The project used in the video ('Nightmares' Survival Shooter, by the Unity devs) creates a 66KB savefile with compression turned on or 1191KB without.
    The file sizes do get larger as projects grow, but remain quite good when compression is turned on.

    You don't need to recompile as such when the project changes, but you do need to refresh the registries. There is a button to do this (per scene or for the entire project) in the editor window. Clicking it will add any new assets or game objects to the registries. Adding new resources will not break old save files.
    It aims to be error tolerant, so if it finds some previously used asset to be missing it will try to continue without it.
     
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,697
    Congratulations on the release! This looks really good. I'm definitely going to check it out when I get a chance.

    Remember to put the link in your profile signature, too!
     
  6. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Thanks TonyLi, I've updated my signature.
    ...and thank you to whoever was our first sale!
     
  7. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @ProceduralJOYE ,

    I have now purchased (but don't think I was the first). I've posted some feedback already on the demo scene.
    Looking at the above and following up on some emails, I agree and suggest:-

    - option to ignore 'static' and unnecessary stuff in scene(s) like, potentially, terrain etc.

    - Playmaker integration, in the sense of both compatibility (can serialise and save/load all the scene(s) GOs with their FSMs, FSM and global variables) and integration (raft of nice Playmaker actions).

    - I agree with others, this Asset is the potential Holy Grail for saves and loads.

    - More (complex) demo scenes with changing scene furniture/environments with save and load buttons etc...
     
  8. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Thanks Duffer123, that's some good feedback.

    The option to ignore static and other unneeded stuff in a scene is on the roadmap for 1.1, which is the release following 1.0.2. It will automatically configure itself to ignore all static objects but will also be able to be specifically configured.

    Playmaker integration is also on the roadmap and I'll be raising the priority of that, as there is clear demand.

    I've actually already submitted version 1.0.1 that has some great optimizations. It is from about twice as fast to save, up to about 32x as fast in some cases. Garbage allocation has generally been cut in half, with some cases having up to 10x less garbage collection needed. There are other improvements as well (better performance in editor window, more robust file streaming, etc.) - a full changelog is to follow.

    1.0.2 will contain a few more demo scenes, using the already available menu prefabs and demonstrating their use.
     
    Last edited: Mar 10, 2017
    TeagansDad likes this.
  9. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @ProceduralJOYE ,

    Great. Thanks for looking at the feedback so quickly.
     
  10. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    No trouble, @Duffer123. Thanks for the feedback.

    I have had a user discover a DLL import issue which occurs only when the IL2CPP scripting backend is installed. If your Unity installation includes the IL2CPP scripting backend, then some DLLs used by the AutoPatcher will fail to import, causing compilation errors. I have a fix for this, which will be included in 1.0.1, but if any users are experiencing this issue then please contact me directly for an updated .package that will resolve the error.
     
  11. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Added the above-mentioned DLL fix to 1.0.1 and resubmitting to the asset store; it'll take a little while before 1.0.1 becomes available to purchase. Full Changelog for 1.0.1 below.

     
  12. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @ProceduralJOYE,

    Excellent! Coming on nicely. Pretty comprehensive sweep of fixes for a first update..

    Happy to help with proof reading of the manual and API reference on the website. Also, feel free to bounce Playmaker integration /actions queries off me.
     
  13. SpectralRook

    SpectralRook

    Joined:
    Feb 9, 2014
    Posts:
    112
    Does this definitely not work on Mac or just untested?
     
  14. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Thanks @Duffer123 there will be a lot more where that comes from! Thanks for the offer to help, much appreciated. I'll keep you posted.

    ---

    Hi @SpectralRook

    allSAVE is untested on the mac because we don't have the hardware over here. I can't think of any specific reason why it wouldn't work but it's a very complex asset. Given the number of potential points of failure I don't think it's likely to work without some small modifications.

    Mac support is on the roadmap as soon as I can get my hands on one.
     
  15. SpectralRook

    SpectralRook

    Joined:
    Feb 9, 2014
    Posts:
    112
    Thank you for the reply. If edits were needed, would they likely be made to any compiled code, like a DDL or would they be to scripts that I could edit myself, if necessary?
     
  16. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    It would be directly to the scripts. All of allSAVE is right there as C# source code; none of it is compiled to DLL.

    If I were making guesses, places that might require changes are the type inspection aspects of the AutoPatcher and file I/O.
     
  17. SpectralRook

    SpectralRook

    Joined:
    Feb 9, 2014
    Posts:
    112
    I'll give it a go, understanding that any support will be limited. Hopefully, I can resolve any issues myself.

    Just want to be sure there aren't issues with the Demo scene before spending time researching. Could you confirm that the demo scene LightsOuts works correctly? I received errors, "Couroutine 'Test' couldn't be started" along with similar errors for 'Test2'. My initial look at the Test coroutine in CountDownTimer.cs struck me as being odd that it's set to null.
     
  18. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Yeah, there are no problems with the demo scene. You probably noticed when you looked at CountDownTimer.cs that it was an absolute mess. :eek:

    That's because it was written with a lot of unusual constructs in order to test how the AutoPatcher would respond to weird looking code. So those coroutine errors are totally harmless, no need to worry about them - they're just related to that testing process.
    The final entry in the compile notes for the (pending) version 1.0.1 fixes this (see below)
     
  19. SpectralRook

    SpectralRook

    Joined:
    Feb 9, 2014
    Posts:
    112
    I'll circle back to the issue I had with the demo when I have a chance. I suspect it was a failure to follow your documentation on preparing the project for allSave. As usual, I skip step 1 and go straight to randomly pressing buttons until blinky lights flash.

    Tracked down a big no-no for Mac support; In Serializer.cs, SanitiseFilePath, you don't want to "while (filePath.Contains ("/")) filePath = filePath.Replace ('/', Path.DirectorySeparatorChar);" since the directory separator is a "/". Ends up going into an infinite loop. I wrapped it in a check to see if they are not already equal before executing:
    Code (CSharp):
    1.                 //DT - Hotfix correction to prevent infinite loop when "/" == Path.DirectorySeparatorChar
    2.                 if (!Path.DirectorySeparatorChar.Equals ('/')) {
    3.                     while (filePath.Contains ("/"))
    4.                         filePath = filePath.Replace ('/', Path.DirectorySeparatorChar);
    5.                 }
    The project I'm testing this out on had an issue with the Components auto fixing. A few scripts had a malformed using clause for Random. I replaced the Random script references with UnityEngine.Random. A script had an issue with accessing a Coroutine that wasn't defined as an autelia coroutine. I resolved that manually. Current error I'm trying to track down (just an fyi):
    ArgumentException: An element with the same key already exists in the dictionary.
    System.Collections.Generic.Dictionary`2<string, object>.Add (string,object) <0x002b0>
    Autelia.Serialization.Mementos.CustomMemento.Serialize (object) (at Assets/Autelia/AllSave Pro/Mementos/CustomMemento.cs:189)
     
  20. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Good catch! This is the kind of reason I wasn't keen to say it would work on Mac without first testing it. There's probably going to be a number of small issues like this to find.

    Thanks for letting me know. If you've got some snippets of the parts of code that it failed to correctly patch, I'd be happy to see them (was it a namespace alias? I encountered a problem with one of those a couple of days back).

    CustomMementos in 1.0.1 now use arrays in place of dictionaries for performance reasons. Before working around this issue, you might want a copy of 1.0.1. It won't fix the problem, since I imagine that an array would store this bit of data twice instead of throwing the exception (which isn't a real fix). If you want 1.0.1, please email me (tools@autelia.com or DM me with your invoice#).

    If I had to guess, I'd say that this might be related to a property in a derived class hiding a property in the base class using the 'new' modifier? Something like that.
     
  21. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Last edited: Mar 13, 2017
  22. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    allSAVE Pro v1.0.1 is now live on the Asset Store! It includes a number of bugfixes and some quite big performance improvements. I would encourage all users to update as soon as they're ready.
    https://www.assetstore.unity3d.com/en/#!/content/82582

    CHANGELOG

    1.0.1
    Improvements:
    * Massive performance improvements while saving. In most cases, saving is now twice as fast with less than half memory allocation. In some cases, saving is much faster (measured up to 32x faster) and with much less memory usage (measured up to 10% of amount previously used).

    * Scanning for warnings in custom scripts is now much faster

    * Adjusted export configuration to prevent data being written to file multiple times. This generally reduces size of savefiles and reduces time spent writing savefiles to disk. In cases of highly interconnected data (e.g. graphs), time spent writing to disk is massively reduced.

    * Greatly improved performance in the allSave editor window.

    * Removed unnecessary 'IsStub' property from mementos. This was contributing to increased filesizes, despite no longer being in use.

    * Made a start on Unity 5.6 readiness. 5.6 is not formally supported while in beta, but allSave will now compile under 5.6 beta installations.


    Bugfixes:
    * Fixed error relating to importing of Cecil DLLs under different Unity configurations. In 1.0.0, installing Unity with the IL2CPP backend would prevent the Cecil DLLs included with allSave being imported, which would prevent compilation. This issue relates to Unity bug #889189 (https://fogbugz.unity3d.com/default.asp?889189_utqmoircadght3e1), but has been resolved.

    * ulong (uint64) was being incorrectly serialized due to limitations of JSON format. This has now been resolved. ulongs are now serialized as strings.

    * Prevent copies of the PersistentRegistry from being erroneously left behind in the scene after first generating the registries.

    * Ensure that custom MonoBehaviours show up in the Components panel of the allSave window even if they are not directly in use (e.g. if a derived class is in use).

    * Prevent delegate types from being treated as reference types when deserializing. This was causing partial deserialization of references due to the delegates being immutable.

    * Prevent ArrayMementos from deserializing in the ProvideInstance() method of their memento. This was causing problems for arrays containing circular references.

    * Prevent CustomMemento from serializing instances of types that have been excluded from being serialized.

    * Velocity was not always being correctly restored on Rigidbodies. This is now corrected.

    * Cleaned up CountDownTimer.cs. It will no longer show harmless Coroutine errors while running the LightsOut test scene.
     
  23. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @ProceduralJOYE ,

    With GameObjects in scene, does this Asset save all children GOs, grandchildren GOs, great granchildren GOs etc? How deep a save does it go?
     
    ProceduralJOYE likes this.
  24. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Hi @Duffer123,
    It saves all GameObjects in the scene, at any level in the hierarchy. It also saves those objects that are in the DontDestroyOnLoad scene.
     
    Duffer123 likes this.
  25. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @ProceduralJOYE ,

    Excellent. I am using a composite data structure in prefabs to gameobjects (with children, grandchildren) in scene then... as your Asset should then save my gameobject based databases... ;)
     
    ProceduralJOYE likes this.
  26. IngeJones

    IngeJones

    Joined:
    Dec 11, 2013
    Posts:
    129
    I am using the Unity Beta program and get a lot of warnings such as:

    Assets/Autelia/AllSave Pro/Mementos/Builtin/UnityEngine/CameraMemento.cs(61,22): warning CS0618: `UnityEngine.Camera.hdr' is obsolete: `use Camera.allowHDR instead.'

    And so on.

    I am not surprised as I assume this is due to changes in the API since the last public release of Unity. What I was wondering was to what extent you're watching out for changes like this as the beta versions come along, and will be able to release updates in a timely manner? Currently I am using the release candidate of Unity, so I guess it won't be long before the next version goes public.

    Update: I had to uninstall this as it was preventing compile with the release candidate, and every time I opened the project it told me it was last opened by the previous version - no matter how many times I opened it with the latest! I hope you can fix this soon as your asset looks like it should be really helpful!
     
    Last edited: Mar 18, 2017
    Duffer123 likes this.
  27. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Hi Inge, sorry to hear you've been having problems with the 5.6rc. I have had some customers using the 5.6 beta with allSave, and there were some fixes related to this in allSave 1.0.1. I see that the release candidate came out yesterday, so I'll shift the priority of 5.6 readiness right to the top of my list and have a look at it this evening.

    Assuming that there's been no massive changes, I'll submit 5.6 readiness patches to the asset store ASAP. Thanks for the feedback.
     
    Duffer123 and IngeJones like this.
  28. IngeJones

    IngeJones

    Joined:
    Dec 11, 2013
    Posts:
    129
    In the meantime I have a usage question (ready for when I can install it again). Do I have to make sure that all fields and class references to be saved are public?
     
    Duffer123 likes this.
  29. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    No, there's no need to make sure that your fields or properties or class references are public. There's also no need to stick to the types that Unity itself can serialize (so, you can use dictionaries or whatever else you'd like directly). There's also no need to tag them with [SerializeField] or anything like that - it can all be managed from the Components/UserTypes tabs in the editor window.
     
    IngeJones likes this.
  30. IngeJones

    IngeJones

    Joined:
    Dec 11, 2013
    Posts:
    129
    Thank you :)
     
  31. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    No problem.

    I tried this evening to reproduce the compile errors you were experiencing with allSave on the 5.6.0 release candidate, but I was not able to reproduce them. If you have the time, would you be able to send me some logs after you get the error?
    There is guidance on where to find your log files here: https://docs.unity3d.com/Manual/LogFiles.html

    I believe the issue with the project repeatedly complaining that it had been opened in an earlier version are probably due to the compile errors. Once it has been able to compile successfully on 5.6.0, I think that they will go away.
    Sorry that you have been having issues with allSave. I want to get these resolved for you as soon as possible.
     
  32. IngeJones

    IngeJones

    Joined:
    Dec 11, 2013
    Posts:
    129
    They were only yellow warnings while I was in 5.6.0b9 and were not preventing running. In 5.6.0f(whatever) same - but got that message about being opened with older version. My project is at a very early stage and so wasn't ready to actually test save and load, just exploring what's available in order to design with the asset in mind. I will see if I can find the log files.

    Later: No sorry the log doesn't go back far enough. :(
     
    Last edited: Mar 19, 2017
  33. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Ok, thanks. In that case, I'll just focus on resolving the warnings for now. They'll be resolved in the impending version 1.0.2.

    As far as designing with the asset in mind is concerned, don't worry too much about it. A large part of the purpose of the asset is to alleviate most of those concerns. All Unity types, collection types, events, delegates, coroutines, etc are supported right away, and it'll make a valiant effort to support all of your custom types as well.
     
    IngeJones likes this.
  34. IngeJones

    IngeJones

    Joined:
    Dec 11, 2013
    Posts:
    129
    There are some values - particularly references to class instances - that I really don't need or want to save since they can easily be refound after the game is loaded using getcomponent etc. Is there a way to protect a value from becoming part of the savefile?
     
  35. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Yes. Once you open the allSave editor, under the components tab, you can select which values of any type you want to serialize using on/off toggles. By default, all fields/properties are on.
     
    IngeJones likes this.
  36. IngeJones

    IngeJones

    Joined:
    Dec 11, 2013
    Posts:
    129
    Ok I notice you uploaded an update so I installed it this morning. Unfortunately this time it had loads of red errors and would not compile at all. Again I managed to "fix" it by deleting the Autelia folder. What is the proper way to uninstall a store asset? Because it may be the clumsy way I removed it last time that is causing the problems now.

    Anyway, this time I did manage to grab a copy of the editor log, and have checked that the errors are showing in it.
     

    Attached Files:

    Last edited: Mar 21, 2017
  37. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Hi Inge, thanks for the log. This is happening because allSAVE was only partially uninstalled before you re-downloaded it. In Unity's menu, please go to Edit->Project Settings->Player. There will be a text field labelled 'Scripting Define Symbols'. Remove the text that says 'AUT_ALLSAVE_SETUP_COMPLETE'.

    If you have a directory in your assets folder named 'Serialization' containing a prefab named 'SerializationRegistry_autelia' that you generated with an earlier version of allSAVE, then please delete it.

    The errors in your log should then be resolved.
     
    IngeJones likes this.
  38. IngeJones

    IngeJones

    Joined:
    Dec 11, 2013
    Posts:
    129
    Thanks that seems to have sorted it :)
     
    ProceduralJOYE likes this.
  39. asagi7

    asagi7

    Joined:
    Oct 18, 2013
    Posts:
    2
    Hello,
    I purchased the asset and when I tried creating the registries, Unity crashed. I have tried it on multiple machines and the same issue. The crash log says the following:

    Please let me know on how to mitigate this issue.
     
    ProceduralJOYE likes this.
  40. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    @asagi7 and I have worked through the bug together in direct messages, and the fix will be forthcoming in the next version of allSAVE. For those who are experiencing the same issue right now, it is due to a crash that occurs in UnityEngine.dll when probing load actions in RenderBuffers.

    It can be resolved simply by adding the following line of code at line 220 of SceneCrawler.cs (Assets/Autelia/AllSave Pro/Utilities/SceneCrawler.cs).
    Code (csharp):
    1. typeof(RenderBuffer),
     
    IngeJones likes this.
  41. bigtriver

    bigtriver

    Joined:
    Feb 11, 2016
    Posts:
    5
    I just purchased your allSavePro product and when I click on the allSavePro in the Window menu nothing happens at all...
     
  42. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Sorry to hear that, @bigtriver. That's unusual. It should be opening a new window with the allSAVE UI.
    Could you attempt once more to open the allSAVE window, then close Unity and send me your logs? There's some documentation on where to look for logs here: https://docs.unity3d.com/Manual/LogFiles.html
     
  43. bigtriver

    bigtriver

    Joined:
    Feb 11, 2016
    Posts:
    5
    I let it sit for a while and the window did finally open. But now I've had it Creating Registries for about 10 minutes and the progress bar isn't showing any progress...
     
  44. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    The progress bar only updates after each scene has been processed. Do you mind if I ask how many scenes there are in your project (listed in Build Settings)? Are they quite complex?
     
    Last edited: Mar 29, 2017
  45. bigtriver

    bigtriver

    Joined:
    Feb 11, 2016
    Posts:
    5
    2 scenes, one is complex
     
  46. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @ProceduralJOYE ,

    How goes the next update? I see that Unity 5.6 is out of beta. Any thoughts re Playmaker integration?
     
  47. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    Next update is shaping up pretty well. It should come with a big batch of improved documentation, a load of bugfixes as well as a scripting API. I also think that it'll come with a big performance update for loading, but I haven't measured that yet.
    That'll all be for version 1.1.

    I'm hoping for a quick turnaround on 1.2, which will include the ability to exclude groups of objects from savefiles (by layer, or tag, static status or manual selection).

    Playmaker integration is on the roadmap directly after that for 1.3.
     
    IngeJones likes this.
  48. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @ProceduralJOYE ,

    Excellent. Assuming the API will be on the website.

    Looking forward to it.
     
    ProceduralJOYE likes this.
  49. GregMeach

    GregMeach

    Joined:
    Dec 5, 2012
    Posts:
    249
    I'd like to purchase but I need full macOS support (Unity 5.6) and since there are 100% NO refunds from the Asset store - can you tell me what is the current status of the product on macOS?

    PS It looks like @SpectralRook was/is helping, if not I'm happy to help debug the macOS version.

    Thanks
     
  50. ProceduralJOYE

    ProceduralJOYE

    Joined:
    Dec 13, 2012
    Posts:
    111
    There is nothing, in principle, that ought to restrict its functionality to Windows. The main barrier for adding Mac support is simply that I don't have the hardware to run tests - and, since I can't run tests until I can afford the hardware, I can't whole-heartedly say it supports Mac.

    I am still working through some issues with @SpectralRook, but they have had some success on Mac and have been successful in creating savefiles with allSAVE on Mac OS.
    Adding Mac support in a future version is something I very much look forward to doing and I'll gladly work with you to break down & resolve any errors that you might encounter when using it on a Mac.

    I have given @SpectralRook some hot-fixes to assist with the particular needs of his project (these fixes will be included in 1.1), but the only verifiably mac-specific change that @SpectralRook has needed to make is detailed in the following post:
    https://forum.unity3d.com/threads/r...-your-project-in-seconds.458228/#post-2990338

    As for the refund policy on the Asset Store - It is possible for the author of an asset to request Unity process a refund. There's some more detail on that refund policy at the following link: https://support.unity3d.com/hc/en-us/articles/205754285-How-do-I-process-a-refund-for-my-customer-
    If we are unable to work through any errors that you might encounter on MacOS, I'll certainly request a refund from Unity.
     
    GregMeach likes this.