Yesterday I launched my game (very large project, 10 years in the making, so a very big deal) and today I'm getting a couple reports of people losing save data and negative reviews because of it. My beta testers and I had never had issues with this, so I'm pretty concerned.
One person reported, "Last play session, I saved over an older save before quitting. When I loaded again just now, it took me back to the first time I created that save file. Thankfully not much of a loss, but wanted to raise this."
The second report was, "Hello I purchased your game last night and played it for awhile, had it paused for a long time, I saved it, when I started the game up today, the save isn't there. I clicked on the auto save and it wouldn't load either, it froze the game. I tried to uninstall it and downloaded it again, and still the same issue. I an unable to play the game and not trying to have to start the game again." (This person lost about 8 hours of playtime)
I'm on unity 2018.3.0f2 with AC v1.70.1. I know they're very old but upgrading is just not an option at this point, I've tried.
My save manager settings are:
Max number of saves: 50
Enable save game profiles: off
Time display: none
Take screenshot when saving: off
Order lists by save time: off
Save in Json format: off
Any help would be appreciated, thank you.
It looks like you're new here. If you want to get involved, click one of these buttons!
Comments
What platform(s) is your game available on, and how are you providing the save/load game feature to players? With AC's default menus, or custom ones / ones with ActionList logic?
Are you able to reproduce this behaviour?
Unfortunately there's not too much to go on here. Which region was the game developed/tested in, and which region are these users in?
If you're able to get the user's "Player Log" file for the game, it may shed some light as to what the issue is.
Good news, the person who had the missing save got it back after reinstalling the game again, but weird that it happened in the first place.
Since I'm not able to reproduce this at all and it's rare and inconsistent, I'm thinking there's no way to "fix" this issue. Instead I think the best route is to save the game periodically into new game slots so if people lose data they wouldn't have to start over.
So I'm trying to create new saves discreetly from within the game - not going through the save menu, and I'm really struggling with getting the custom label for the save file to work. It's saving, just as "save 1", "save 2", etc. I'm using the "save new game" action with custom label checked and the variable assigned. I also tried the Set Variable with that string "set as menu element", but no luck.
I haven't tried anything through script yet, so I'll try that today. But do you have any other suggestions for going about this?
Going through script worked perfectly, so looks like everything is resolved. Thanks for your help!
Hi Chris,
I'm re-opening this issue because it's still causing loads of problems. Here are the wide variety of save/load related issues being reported:
I've been asking for computer specs and I can find no correlation. PC, Mac, good computers, bad computers, all report this issues sporadically. I've had about 20 reported cases out of 1000 players (could be more unreported).
The save/load system is set up using unity UI prefab menus hooked up to the AC menu framework. It uses actionlists to function.
The region developed is the US and it's a highly US based player base.
I can try to get some player logs from people having these issues in the meantime.
Thanks for your help! I'm losing my mind with this one.
Are these reports coming from US-based players as well?
For complete context: share as much of an overview of the save system as possible. The reports mention profiles, renaming saves, and autosaves. Are you saving on separate threads? Please share as much detail / screenshots related to your save system as possible.
I asked previously about regions because there was previously an issue with region-specific culture values affecting save data, with e.g. float values such as "1.2" get mistakenly stored as "1,2", causing breakages.
In older releases, this should be fixable manually by inserting the following at the top of your KickStarter script's Initialise function:
This will likely invalidate existing saves, and from what detail we have to go on I cannot be sure this is 100% the cause. It would be worth letting some users with the issues test this, however.
Interesting about possibly being related to region - I'm asking around to those who had issues and I did hear back from one person so far that they're from the Philippines. Hope to hear back from more people soon.
I gathered every screenshot I could think of relating to saving and loading and compiled them into images. I tried to make the information as clear as possible, but if there would be a better format to send them in let me know.
https://imgur.com/a/JGcSql6
I also received an output log from a player! I sent it to the email from the contact portion of the website.
If it is region specific and the fix involves adding that to the script, would this be a viable solution if it also invalidates all existing saves?
Thanks again for taking a look at this!
Update: Players from the US are also having these issues
Thanks for the clear details!
The log includes the following error message:
It's not a huge amount to go on, but it does suggest a corruption of save-data.
If there was an issue with the culture/region, you'd probably get a message along these lines. I can't guarantee this is the exact issue - and it is possible there is more than one at play here - but I would say it's worth pursuing.
Would it be possible to get a copy of a problematic save file from a user? And as more details of issues come in, are you able to reliably recreate any of them on your end?
I wouldn't make any decision about that without being first sure that's the culprit. If it's possible, I would recommend making the change and getting it tested by users who have reported the issues.
The screenshots do show quite a complex setup is involved for saving. The logic generally looks sound, though there are some custom Actions involved that I'm not privy to.
One thing I did note: Cutscenes have an "Autosave after" option that can be used to autosave the game once they end and gameplay resumes. Though, this won't affect the failing of save-game files to load.
I got an update from a player in Japan:
This person was never able to save/load in the first place (so a little different than those who suddenly lose their save files or have issues with the autosave being corrupted). It's good that its working for them currently, but I'm half expecting them to have issues as the game progresses. I sent this player's corrupt save game files to the AC email.
If the issues were caused by region, would it mean that EVERY player in that region would be affected? I have some players, based off of how they talk, that I would guess are outside of the US that have not had issues.
I'm looking up everything I can about this error code. I'm seeing a lot about stream position:
Some things about classes:
Things about "version tolerant serialization" and the binary formatter. I think this is implying that making updates to the application is what's causing issues?
I'm sure you are familiar with all this already, but I wanted to get it all in one place. This is getting into stuff way beyond my knowledge unfortunately.
I've dug as deep into the files as I can. They're corrupted at the point of saving.
I'm not sure about that. The issue that the fix above was for wasn't widely reported, so I don't believe it's that widespread.
If you're getting reports of this issue both in and out of the US, though, it may be recreatable. Are you getting any details/steps on how to reproduce these issues?
You could switch your game's save format to one that's human-readable e.g. Json, but that too would invalidate existing saves. I'd say focus right now should be on getting the ability to reliably recreate the issues - we can then be more sure about the effectiveness of a potential fix.
I have 6 computers I can test on - 5 pcs of varying quality and have just acquired a mac as well, so I'll work on trying to reproduce it
No luck reproducing the issue on my pcs, have yet to try the mac.
I got a new report of someone who was at the very end of the game, died during the final confrontation, the autosave didn't load, then they had to force quit and lost all their save data. This is the only common trend I can see - the pattern of autosave failing to load, player force quitting, and then when they come back into the game either their saves are gone or corrupted.
Do you think there'd be any value in me just redoing my save system? I've been hesitant to mess with something that's mostly working, but if it could fix it it'd be worth it. My only other hesitation is that it seems to be having issues outside of the actionlist based save system - the saves that act as checkpoints as the game progresses are implemented through script and they seem to have the same issues.
Implemented through script, as in - custom scripts?
Certainly the system you've shown in your screenshots is particularly complex, and while the logic looked sound, it would be worth reverting to AC's default Save/Load menus - at least while testing potential fixes - so that it removes another layer of potential issues.
I may have made somewhat of a breakthrough - the issue with the autosaves not loading appears to be a separate issue from the saves being corrupted.
I just got a new report of someone who was transitioning scenes, and the new scene failed to start properly so they got stuck and had to force quit. When they got back into the game their saves were gone. I think force quitting is the issue.
What doesn't make sense though is I understand that force quitting while a save is being written will corrupt the file, but I don't know why a) saves are getting corrupted when the game is force quit while a save is NOT being written and b) why are ALL the saves being corrupted.
At least I may be able to reproduce more easily now that I know this is a common factor.
I currently have it where the game saves the autosave on load - is there any chance this could be causing problems?
Not necessarily - if the autosave process is only invoked once the loading process has completed, it should be fine.
Are you using custom code for this? Share if so, and I can check.