Sync or Async save game to slot

And this was in 4.26?

All I know, is I did tests with sync and async.

I had 1000000 actors which were reading and writing the save game simultaneously. Sync works flawlessly, async makes a total mess of it.

If you’re using async, it can be the only thing writing to the save game at that time. If anything else is writing, even if it’s using async, it wont work.

Async is for when you have a LOT of stuff to write the save game. So much that it will hang the game while the update happens.

Otherwise the sync version is just fine.

Ah, I see. Did the sync save work well for you in game (not in a menu) without causing a framerate hitch?

Try it. I waited plenty of time…

I’m working on my save system, and I read it the docs that the async process is preferred, and allows for saving during the game. However, I stumble upon comments on answerhub and the forums that async does not perform well, like this one: https://answers.unrealengine.com/questions/1000207/async-save-game-to-slot-not-available-in-gameinsta.html

Can anyone shed more insight? I probably don’t need async because I don’t have a ton of save game data, it would be nice to have autosaves/quicksaves.

No, 25, but try it yourself. I just made an array of cube BPs, 100 x 100 x 100. Each cube assumes a random color on begin play. When signalled ( with a keyboard stroke ), every cube will save it’s color to the save game. On the next signal, the cubes will turn white and load their color from the save game.

Do it with sync and all the cubes will be the right color. Do it with async and about 90% end up white.

I don’t think it’s a bug, I think there’s only supposed to be one async call at any time.

If you want to be able to write to the save game from lots of different places without worrying about overlaps, sync is the way.

In the example with 1,000,000 actors there was a hitch of course. It was just a test.

In normal conditions, when blueprints etc are saving themselves as the game goes, you won’t notice any effect.

So it sounds like the async save was not completed before your async load?

Hmm, I’ll have to do some tests too. Thanks for your insight!