Announcement

Collapse
No announcement yet.

[PLUGIN] Savior 2

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by BulleTime View Post
    Edit: just got a error with another test :

    'FMemoryWriter does not support data larger than 2GB.'
    I have implemented multi-threaded ZLib compression in version 2.5.0;
    I will also add a sub-system to save a "minimal set" of data where you can use to further reduce file size.

    Warning:
    Save files created with plugin before version 2.5.0 will NOT be compatible to 2.5+ due to compression algorithm included.







    "Minimal" data set is always compressed and usually 400% smaller than default (complex) set;
    However, on minimal it's not possible to support threaded auto-respawn of Actor/Component instances on load:


    | Finite State Machine | Auto-Save Plugin | USQLite Plugin | Object-Pool Plugin | Sound-Occlusion Plugin | Anti-Cheat Plugin | Property Transfer Tool |

    Comment


      Hey there Bruno, after months and months of trying to sort through the garbage save system I've been working with, and other marketplace solutions, I came across your plugin and found it to be really promising. I've purchased it, looked through your demo and documentation on the 1st page, but have run into a bit of a snag while trying to implement it.




      It appears as though several of the rather vital nodes do not appear in my project. I've tried reinstalling the plugin, recompiling, and building from source but to no avail. I even tried copying the single nodes from your demo project, but all I got was a 'conflicting nodes' error.
      I ask myself how could I honestly get stuck on a tutorial of 3 or 4 steps? I've got a rather finicky source-control setup, could that be related?

      Comment


        Chaosian it looks like your "Savior" variable node there is empty?!

        It must point to a valid Slot asset or instance of a Slot asset.

        If that's not the case, definitely there's something weird happening to your project..

        _____

        Also on Context search look for 'Savior' instead of "save game" keyword.
        Last edited by BrUnO XaVIeR; 11-21-2018, 04:32 AM.
        | Finite State Machine | Auto-Save Plugin | USQLite Plugin | Object-Pool Plugin | Sound-Occlusion Plugin | Anti-Cheat Plugin | Property Transfer Tool |

        Comment


          Quite quickly came up with the solution to my problem after sleeping on it, and I'm feeling all the sillier for it. The search term wasn't the problem, I should still be able to find at least the "Save Game Mode" node, and the variable itself was fine for that purpose.
          Stupidly though, I was trying to do this search inside a Function - just another relic of my previous architecture. Presumably, all those didn't register inside the function because you cannot have time-related notes (such as delay) inside a function. To my credit at least, this is a UX problem with Unreal. There should be some kind of indication as to why you can't in the first place.

          Kudos for the prompt response though!

          Comment


            Hate to junk up your thread here, but I've stumbled into another problem, or series of intertwined problems.

            I've got a very simple setup running in level blueprint, and have seen success with it. A Savior Slot variable referencing an extremely default Savior II entity, being told to save the game world, then on success, save game instance and try to load the world 5 second later, on loop. I've got an exceedingly simple world, and could see some actual saving and loading with this setup.

            There are multiple problems with this setup though, which make it seem like things just aren't adding up.
            • The Save Game World node only appears to function the first time the engine is booted up. On every subsequent load, the node continues across the top line of exec but never hits "success" or "fail". It just hangs, seemingly forever. This remains to be the case simply for every subsequent call of the save game world node. If I boot up the engine and run this code, the Save Game World never runs success twice. This happens regardless of the New Slot Instance node or not..
            • The game DOES appear to be saving something, and saving it correctly, as there are appropriately named files in my save directory
            • After Save Game World successfully finishes, Save Game Instance never will, it appears to be suffering from the same problem. Similarly the loading never will. However, if the engine is booted up again and these calls are made, they will function normally.
            • Even when it is saving, there appears to be no save related UI. My level is very simple, and I could just be interpreting the demo incorrectly, but the Savior II save slot object would seem to suggest there should be at least something.
            • I cannot get / find any debug logs, even for a successful save. I've checked both checkboxes. I can find logs for the demo, however, as SAVIOR2_Demo.log.
            • I don't think any of these issues are related to version control, as the save files have not been added to my Perforce.

            Comment


              Chaosian you have a loop that never closes because the "Save Game Instance" isn't waiting for a "Success" response.

              Also "Save Game World" already saves a copy of the Game Instance, it's a conflict saving it again using that second node.
              The second node will erase everything from Slot and write the Game Instance (only) to it, I would remove that node.

              And, use nodes with callback events, don't loophole like that
              | Finite State Machine | Auto-Save Plugin | USQLite Plugin | Object-Pool Plugin | Sound-Occlusion Plugin | Anti-Cheat Plugin | Property Transfer Tool |

              Comment


                The idea was that the loop would never close, it was a testing scenario. In that test though, success would never fire even if it was hooked up correctly. Some sort of bug, I can imagine, or maybe just a flaw in my expectations of the node.

                I'm not exactly certain how, but the bug of having to restart the engine to get the get nodes to work more than once seemed to be fixed by removing the redundant save game instance node.
                I took your advice and this code works reliably:



                I took things one step further and implemented it in my UI, and thinks work great. At risk of sounding a bit like a goof if things blow up in my face again, I am tremendously pleased with the results right now.

                Thank you very much for your help!!

                Comment


                  Chaosian I have found the issue you've experienced.

                  It's a problem within the architecture of "Async Nodes" inside Unreal.
                  I will add an update where you can use save/load function nodes without depending on the Async API, this way you will be able to safely call Delay/loops, etc.
                  | Finite State Machine | Auto-Save Plugin | USQLite Plugin | Object-Pool Plugin | Sound-Occlusion Plugin | Anti-Cheat Plugin | Property Transfer Tool |

                  Comment


                    Hi Bruno,

                    Recently (today) there was a new update for UE 4.21, wich are the new features or fixes?

                    Thanks

                    Comment


                      Originally posted by RoccoFX View Post
                      Hi Bruno,

                      Recently (today) there was a new update for UE 4.21, wich are the new features or fixes?

                      Thanks
                      Concluded the change I mentioned above.
                      Save/Load nodes without Async operations exposed to Blueprints (nothing changed for C++ devs).

                      Note:
                      The non Async nodes demands use of "New Slot Instance" before using it.
                      Last edited by BrUnO XaVIeR; 11-30-2018, 06:40 AM.
                      | Finite State Machine | Auto-Save Plugin | USQLite Plugin | Object-Pool Plugin | Sound-Occlusion Plugin | Anti-Cheat Plugin | Property Transfer Tool |

                      Comment


                        BrUnO XaVIeR

                        How to I get this plugin working with non-launcher version of UE4 ? (I use Oculus fork of UE4 built from source)

                        Comment


                          Originally posted by motorsep View Post
                          BrUnO XaVIeR

                          How to I get this plugin working with non-launcher version of UE4 ? (I use Oculus fork of UE4 built from source)
                          Marketplace does not support engines built outside Launcher.
                          You'll have to move the plugin from Engine/Marketplace/ to your project's folder and build binaries for it yourself.
                          | Finite State Machine | Auto-Save Plugin | USQLite Plugin | Object-Pool Plugin | Sound-Occlusion Plugin | Anti-Cheat Plugin | Property Transfer Tool |

                          Comment


                            Submitted v2.6.2:
                            • Added support to auto save physics state of Skeletal Meshes and PhysX Vehicles.
                            • Fixed an erroneous "ResetPhysics" flag, should be "TeleportPhysics" instead.
                            Last edited by BrUnO XaVIeR; 12-05-2018, 02:26 PM.
                            | Finite State Machine | Auto-Save Plugin | USQLite Plugin | Object-Pool Plugin | Sound-Occlusion Plugin | Anti-Cheat Plugin | Property Transfer Tool |

                            Comment


                              Hey there BrUnO XaVIeR , maybe I was blind but how can I save an actor and it's variables marked with "SaveGame" flag from a controller for example? I tried the SaveWorld last weekend, but that's just didn't do the job as I expected after I loaded the game from save file. Any suggestions?

                              Comment


                                Easiest way to save controller, pawn ,etc is use "Save/Load Game Mode" nodes.

                                New Slot Instance -> Save/Load Game Mode
                                | Finite State Machine | Auto-Save Plugin | USQLite Plugin | Object-Pool Plugin | Sound-Occlusion Plugin | Anti-Cheat Plugin | Property Transfer Tool |

                                Comment

                                Working...
                                X