I’m trying to use the Save Actors of Class (and Save Actor) node, but I can’t get them to work. I’m doing New Slot Instance → Save Actors of Class → Write Slot to File, but the save Actors of Class node fails
Two things worth noting:
Save Actors of Class (and Save Actor) only fails on actors inheriting from the Character class from me (for testing this I made a new class inheriting from character, with only a single bool marked as SaveGame and an SGUID added for testing, along with the savior interface and setting the SGUID in the construction script of course). Any actor not inheriting from character gets saved just fine from my testing
The Save Game World node saves the test character mentioned above just fine, and the Load Actors of Class node works perfectly as well after saving the test character with Save Game World
Unfortunately I am unable to reproduce the issue you describe.
I would avoid storing the instanced slot and using the slot reference that comes from the nodes output, that would help simplify things I guess…
For the sake of clarity, I also get a success on the save actors of class node if I don’t put the test actor in the scene, since there’s nothing to save at that point, so nothing that can fail I guess. Given that you know how this system works better than anyone, I feel like a jerk for asking, but I assume that you put the test character of the class you’re saving in the level, or changed the player character, right?
I’m hoping that I’ve just set up something incorrectly - I just don’t know what that’d be. And like I said, the Save Game World node works perfectly, and so does LoadActorsOfClass, so I’m kinda at a loss here. I’ve also tried updating the engine to 5.2.1, making a new empty project, and redownloading savior. I’ve also tried on my coworker’s computer. But none of it helped
Are there any logs I should look at that might give any insight as to why this happens? Or any test you think I could do to figure out the issue I’m having? I could also send you this new empty project I made for this test, if that’d help?
So the problem is that actually a second thread is trying to save the animation blueprint data from the character and, since that class never implements the interface to save anything from the ANimBP, far down the road that thread overrides the result value as Failed operation although the actor itself always saves successfully.
I patched this little mistake and will send an update soon for UE5.2.
( my test projects always implement the AnimBP interface so I never seen this )
Hi, the plugin has been working great for single levels, but I have some troubles with saving streamed in level of an open world.
This is what I am trying to achieve: An open world which has dark-souls like bonfire to save the game. There is one persistent level and each sublevel is streamed in through a streaming volume.
However, I am seeing an error in static void DeserializeActor(const FSaviorRecord Record, AActor* Actor) when loading my save game, because the World is NULL. I assume this has to do with the sublevel not being streamed in yet. Can you suggest some best practices to use Savior3 for streamed in open worlds like mine? I am using C++ and currently use Savior’s SaveGameWorld function.
Hi Bruno! I bought your plugin some years ago and used it for a personal project, and now we’ve got it for the project at work. Sorry about the formatting, I haven’t posted much since they changed the forum layout.
I’m not able to get any of the saving or loading to work on my project. I’m trying to do (currently testing this in Play in Editor):
For the object that gets killed, I mark it destroyed and when I save it savior handles destruction as expected. However, when I load the same slot the object is still there.
When I spawn in actors in run time, save, then load they aren’t there.
I think this is because I ticked “Reset Level On Load” when Loading Game. When I untick this, the map looks exactly how it should look when loaded.
For my runtime actor spawning, here’s how I’m doing it. The Hit Vectors array is marked as “SaveGame”.
It doesn’t look like any state is being saved because when I quit the game in editor and load it after playing in editor the loaded slot doesn’t load anything that was saved. Furthermore, I’ve noticed that only the “On Prepare to Load” and “On Prepare to Save” interface events get fired.
I’m not sure what I’m doing wrong here, I spent the day reading through this forum post, the documentation pages and the example project.
Everytime I save and load, only one of the BP_Gate is visible in the game, eventhough they all still show up in the World Outliner list of the editor. Are they invisible for some reason?
If I duplicate the Blueprint BP_Gate to create a new Blueprint and place that in the world it works fine and I save and load them both, but I want to avoid creating a different Blueprint for each instance of my gate.
Interestingly, I have another class which just like the gate inherits from AMyActorBase for which I do not experience this problem. I can basically drop as many instances of that Blueprint into my world as I want and they all save and load.