Supporting save files for older versions of a game
Posted: Fri Mar 27, 2020 2:08 pm
Hi,
we are slowly approaching launch for our game and wondering what the best approach is to support save files of previous versions of our game when end up pushing updates.
So let's say we have version 1.0 of our game launch. Our players save their game. Then they download an update to the game that we pushed. I have to make sure their previous save files still work.
The problem I have encountered is if prefabs with an ES3Prefab component have been modified in such a way that some references in ES3Prefab were removed. Saved prefab instances in older save files will try to access those references which will break the load process.
Is the solution to then never modify ES3Prefabs in a way that would remove references? What is the prefered strategy here?
A similar issue exists with the fields saved in ES3Types_**. My plan was to never remove fields or properties that were saved so that if you load a previous save file, it won't fail because it can't find a field or property in a given class. Another approach could be to gracefully handle cases where the field or property isn't found when loading.
Any help is appreciated! Thanks!
we are slowly approaching launch for our game and wondering what the best approach is to support save files of previous versions of our game when end up pushing updates.
So let's say we have version 1.0 of our game launch. Our players save their game. Then they download an update to the game that we pushed. I have to make sure their previous save files still work.
The problem I have encountered is if prefabs with an ES3Prefab component have been modified in such a way that some references in ES3Prefab were removed. Saved prefab instances in older save files will try to access those references which will break the load process.
Is the solution to then never modify ES3Prefabs in a way that would remove references? What is the prefered strategy here?
A similar issue exists with the fields saved in ES3Types_**. My plan was to never remove fields or properties that were saved so that if you load a previous save file, it won't fail because it can't find a field or property in a given class. Another approach could be to gracefully handle cases where the field or property isn't found when loading.
Any help is appreciated! Thanks!