[PLUGIN] Savior

Hey, Master how things going with Savior 5 - There is a relase nearly soon with the new Demo ;)? Can we except World Partition and Travel Level Case sort of Multiplayer implementation?

Hmm… why would you need a save system to be network replicated?

The updated plugin is already on Fab, but due to crunch at work, I am still pending on a new demo project. I also need to write a lot of new documentation for this plugin.

1 Like

Hey i see, cant wait! Just Would like saving things on the server like player buildings, foliage,killed enemies- progress in quests (load info for other clients that join so that info need to be delivered somehow) - also containers with items (shared stash) - as example when dedicated server goes down or have 1 hour loop save server- to have everything in place. Thanks

If you do a “Is Server” check before calling any save function, the save process will run on the server.

1 Like

Hi,

I’m sorry if this has already been asked and answered, this is a real long thread to go through.

Is there a way to create new slots at runtime?

My game map is generated procedurally. What I would like to do is have the player select “New Game” and provide a “Seed” value. This would create a new world and it would be saved. Then they can load that game from a selectable list of saved games. If they want to create a new world, they can, and still be able to access the old world. I don’t want to have a limit on the amount of worlds they can have saved.

I am on the road right now, but I will explain to you as soon as I am home from work today.

It’s very simple, will show you some settings screenshots later. :+1:

@jrussbowman A lot of projects do something like this:

You have only 1 slot template type, then you just override the Slot File Name property, like in this example below.

Thank you. I’ll give this a try.

Will the widget for loading available saves work with this or should I scan the files?

The widget class there should work fine, but you might have to “read the slot file” before drawing it to the screen.

Ok thank you, hopefully I can get some time to work on this, this weekend.

This is what I came up with, the filename looks correct according to the print string. However, it doesn’t create any slots in the slotpicker widget this is the event construct of. Am I missing something?

Edit: The read slot from file is failing, if I skip it then I don’t appear to be getting a valid slot as the load game world fails.

Edit2: I realized that I had not been saving the meta data, so I got that in. Added a check for my file scan to not bypass trying to read the metadata file as a file. Still failing.

I’m working on trying to modify the readslotfromfile to get some debugging in to understand why it’s failing.

Edit3: Last edit, the issue was by scanning the files I was getting a string that ended with .sav, Savior automatically appends .sav so I was looking for files that ending in .sav.sav. I fixed that and it’s working now.

It’s late here, calling it a night :slight_smile:

Yeah, sorry about that.
You should read “slot meta”. Reading the actual slot file is slow and not required for a widget.

1 Like

Any update when this is coming? I checked the test I made earlier and it looks like the latest version still doesn’t save the instanced struct.

Oh sorry.
I had some schedule issues lately.
I will note here to implement it this week!
By the weekend at the latest I guess.

(I’m working for a Japanese company at the time and the crunch is quite real lol)

1 Like

No worries, there’s no big hurry if it means you won’t burn yourself out :person_bowing:

1 Like

I am pushing this Sunday an update where FInstancedStructs are supported.
At this time, this is only on Unreal 5.5 (and I will update the plugin for 5.6 later as well)

However, the underlying struct supported for deserialization currently is limited.
The supported types right (within Instanced Struct) are these:

FGuid
FVector
FVector2D
FRotator
FTransform
FLinearColor
FColor
FVector4
FQuat
FMatrix
FPlane
FSphere
FBox2D
FRay

I might make it support any inner type in the future, but right now there are technical limitations to how it was implemented.

2 Likes

I put together a new PDF documentation file that can be found here:

1 Like

Are you still active on support or just keeping it updated?
On the fence since it is a bit of money but seems worth it if it does do it that easy.
Do you have any videos of set up and use cases? I read through the docs and while they do explain a simple set up a video or 2 would be good.
Does it use tags or a component to decide what to save?
I see the save world, what does it actually save? anything in there and the state of all vars and whatever else?
Like a rifle with ammo amount, player info (inventory and everything on it)
Doors open or closed etc…?

Just want to know what the limits are and how much I might need to figure out. I am new to Unreal (coming from Unity) and not that familiar with blueprints to try to fix anything I didn’t make.

Thanks!

Hello.

This plugin will never be outdated or unsupported.
First version was released for Unreal 4.0, that was around 2014.

I have a little documentation here in this link:

I am working on new docs, new demo projects, and I plan to setup a Discord server for support 1:1 when my current employment contract expires.

I always provide email support as well.
On the plugin store page you can download a (old one) demo project and if you check the plugin installation from your Unreal Engine’s “Plugins panel” you will find a little button to instantly send a support request.

I had YouTube videos in the past, but then the engine changes and the plugin adapts so the video quickly becomes irrelevant.

1 Like

Thanks for the quick reply.
A discord channel would be great so others can help as welI.
I did read that doc before, that’s where I got my questions from.
I just want to be sure it can do what I need, which it probably does because I have nothing real fancy, remember when I pick up a weapon (not in scene), and if I drop it again how much ammo was in it and the condition. Along with other pickups and interactables.
So my question I asked…
“I see the save world, what does it actually save? anything in there and the state of all vars and whatever else?
Like a rifle with ammo amount, player info (inventory and everything on it)
Doors open or closed etc…?”

and do I just use a Tag or an interface or component for it to know what items to save?
I am not asking for tech help, just not clear in the docs and I want to buy it and go (docs are still V2)
I just want to be able to drop it in and get started…I do know there is some setup and maybe an edge case I might need to deal with but my game is simple on mechanics.
Blueprints and C++ are not really my thing (as I think I mentioned I am coming from Unity) so I need a little more hand holding but I am trying. (It seems your docs are written and geared towards programmers with a strong understanding of c++)

Anyway. let me know. I might pick it up this week and then bother you even more! haha.
It was a toss up between you and Rama, you have that save world that has me intrigued.