LCVg's Serialized Saves Plugin

Hello Auriam. I am not being able to reproduce the problem you are experiencing. In order to help you solve it or to fix this bug, could you provide a little bit more info?

. What version of the engine have you installed the plugin to?
. In your Edit > Plugins windows, which version number appears for the plugin?
. Go to Window > Developer Tools > Output Log. Then run the game in editor and try reloading. Please check on this window if you see something weird. A screenshot of it might come in handy for me.
. Can you share the blueprint actor you are having problems with? Which class does it inherits from?

Thanks a lot!

I was using version 4.15.1 of the engine, however I updated to 4.15.3 to see if that worked but it was the same result in both. The plug-in version is 1.3.2

09e35ea1ca4e100edd33e3b6374007e2b95fb171.jpeg

That’s the log on load. Other than the error with my character blueprint I couldn’t find anything pertaining to any of the actors that were not appearing.

It happens on anything I attach a persistent object interface to. I tried both parent classes “Actor” and “Static Mesh Actor” , both have the same effect of disappearing on load.

I hope this helps!

Hello Auriam. I have not been able to reproduce the problem you are experiencing. Can you try and see if you are having the same problem with the example project?

It works perfectly in the example project, so it is definitely something in my specific project. Other than the bug I had in the previous version of actors reverting to 0,0,0 every other load, the object did still respawn, so it must of been something that changed between the last version and this version that doesn’t cooperate with something in my project for some reason.

This is the setup I’ve had for both versions, it hasn’t changed. Is there a different setup or load order I should try?

Instead of using the direct save node. Try using the Save LC game node that uses the player name instead.

If the actors are desapearing it means theyve been saved previously, what i cant understand is why they are not loading at all.

Ill check if the loading nodes are bugged. But i dont remember changing anything there.

I tried the Save LC game node, unfortunately I’m getting the same result. I can’t seem to think of anything that would interfere with it in my game, I’ll keep testing different things and I’ll let you know if I find anything!

UPDATE: Ok so I have also been getting occasional UE4 crashes when trying to load the game as well…it gives me this:

Access violation - code c0000005 (first/second chance not available)

UE4Editor_LCVgsSerializedSaves!ULostCauseSaveGame::ContainsMapSaveData() [d:\build++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\lcvgsserializedsaves\source\lcvgsserializedsaves\private\lostcausesavegame.cpp:14]
UE4Editor_LCVgsSerializedSaves!ULostCauseSaveSystemLibrary::FinishLoad() [d:\build++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\lcvgsserializedsaves\source\lcvgsserializedsaves\private\lostcausesavesystemlibrary.cpp:414]
UE4Editor_LCVgsSerializedSaves!ALCTimerHelper::FinishGameLoad() [d:\build++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\lcvgsserializedsaves\source\lcvgsserializedsaves\private\lctimerhelper.cpp:36]

I’m still investigating this issue. In the meantime. Are you initializing you LCSaveGame Object? or are you just passing it into the functions. To use the LCSaveGame Object as a function argument you need to actually initialize it with the function called: GetLCSaveGame like this:

InitializeLCSGO.png

You wouldn’t normally have to do it but if you are passing a LCSaveGame Object reference you need it to be valid for the system to work correctly. An invalid reference is the only case where the plugin may cause a crash. In the next update I will include a clear log warning of this to prevent the crash. Let me know if that helps. Have a nice day.

Turns out one of my nodes wasn’t properly connected in the initialization, so that fixed the crashing.

Also for the original problem of my actors disappearing with the interface on them, my save/load is currently hooked up to key presses. If I hit the load button really fast a few times, it will sometimes load everything correctly? I don’t know if this helps but I thought I would let you know!

It does help! Thanks for the info, it helps narrowing down the problem. Just as an aditional help: are you experiencing low frame rates when loading? Do you mind sending me your PC specs? Thank you a lot for your patience, Im working on this right now. Ill keep you informed.

My frame rate seems to be fine when loading, no issues there. Specs:

Intel(R) Core™ i7-2600 CPU @ 3.40GHz
12GB Ram
GeForce GTX 970

This plugin looks great, but do you have any plans to release it for mac osx? I bought this with the expectation that it would work on osx, but it doesn’t load in the editor (can’t access the plugin nodes). Critical plugins, such as Low Entry have gone this way - do you plan to support osx?

Yes. Osx and IOS support are on my plans for the plugin. It is going to be supported in the future. There is a quality of life update needed for solving a problem some users are experiencing and after that apple products support will come in the next big update (should come in the next couple of weeks).

This is great to hear! Thank you for your work on this. I’ll keep an eye on it.

Just wantet to let you guys know that Update 1.3.4 has been submitted to the marketplace and should be available in the marketplace very soon. It solves a critical bug some users have been sufering since the last update.

Update 1.4 should be ready for the first week of august and it will include some new cool features (like automatic non actors object saving and Mac support -And maybe UE 4.17 support if it came out by then-)! Have a nice day everyone!

Thanks i cant wait for the automatic non actors object saving it is the best features incoming !!

Hello,

i did a test to see if Actor Components had variables saved and loaded properly, and it seem that it dont work (like object it seem that they dont support automatic save&load)

is that normal behavior and may the new feature about automatic non actors object fix this ?

if this isnt normal behavior i may help you with a simple reproduce project step by step

Yes. That would help a lot. Please send me a private message with the download link so i can invewtigate what is going on. Thanks!

Hello Skeleton60.
Automatic Non Actor object saving can indeed save components and actor components and reload them afterwards, the problem is that there is no way to automatically re assign the loaded components to the actor since components are created alongside actors (unless i am missing something).

Until I find a solution for this particular use case i would recomend you to either store your variables in the actors themselves (or other objects) or pass the variables to them at the moment of saving and restoring them when loading.

After I finish update 1.4 I will further investigate this and see if i can come up with a good solution for it. Thank you! have a nice day!

Ok, it seem hard to do an automatic system, i dont know how people can work with unreal engine when it come to save & load :frowning:

I dont understand why we dont have an easy “save & load system” in blueprint, this little checkbox “savegame” does nothing until we get plugins that use it…

at this time, in blueprint with savegame object, we can only save and load simple variable easily, but when we have to save & load actor reference and components inside actors its impossible, i have too many nodes and when i add or modify a new variable or new component i have to rework all my save & load system :frowning:

i wish this little “savegame” checkbox will work in the futur version of unreal engine… maybe 4.17 :o

Well, object and actor referencing is done automatically by this plugin
Components, however, even when they are references, they are registered diferently to the actor (there is a parenting tree in every actor, and it would need to be replicated exactly when loading and saving components). I’m sure ther might be a way to save component variables automatically (maybe by names? but a single name change in a component and bam, your save is corrupted), but i will prioretize non actor objects automatization.

The checkbox will likely never do that because is just a flag marker for serializing variables. Needing to save absolutly everything in a game is a very rare use case and its very impractical to include it in an engine (as most users will never use it). The same goes to this plugin, its a very useful automatic tool, but will have a limit, since its unlikely most user will ever need to save absolutly everything.

However. Being wrong when it comes to this, would be nice.