Async Loading a save game .sav still hitches due to object serialization. Looking for clever workarounds.

When async loading a save gave from slot. It uses an async task to get the data, however when it run’s LoadGameFromMemory, that is still on the game thread. In my case… some sav files can take up to 200-300ms due to an array of saved structs with 20 or so properties in it during serialization on load. Some of the save files can have 1000 entries in this array.

Stuff I’ve tried.

  • Making sure to try both the BP and C++ versions of the functions… just in-case.
  • Launching an async task to wrap around just the serialization part in LoadGameFromMemory… that ofc crashes.
  • Making sure everything I need is marked with SaveGame, no extra fluff.

Stuff I’ve been thinking about and furiously googling.

  • Changing the save files into packages and trying to load those externally since the async loading thread only works for packages… This… I have never done before and sounds like a bit of a hack.

  • Custom Serialization of some sort… or using bulk serialization for just the main offending array of structs… but uhh it feels like a rabbit hole of doom in which I am not prepared for.

Mostly looking to see if there is something I might have missed that is obvious or a clever idea someone might have to get around this issue.

Help is truly appreciated thank you!