9

Text files are a perfectly fine way to create savegames. It's easy to implement and it allows you as the developer to edit savegame files in a text editor in order to test things more quickly. But for easier parsing and better compatibility between versions, you might want to use a standard markup format like XML, JSON or YAML which you serialize and ...


2

Save in your playerprefs the version you are using. Have some migration function in case your current version is higher than the saved version. Always migrate only one version, in case saved version is 1.0 and current game uses 4.0, you should migrate from 1.0 to 2.0 to 3.0 to 4.0 without skipping a version. You can either adjust the score on migrating or ...


2

The rotation comes from the calculation of the index in load_from_file(), it should be: chunk[i][j] = std::stoi(tokens[i * Constants::BIOMESIZE + j]); That said, it would be much better if you could save the file in such a way that you can load it back the same way. Instead of using "," as a separator, use a space (" "). Then you can ...


1

Unfortunately Unity does not have a build-in savegame system. So every game needs to develop an own savegame system which is tailored to the architecture and requirements of that specific game. That means there is no "best" way to save data, only the way which is best for you. When you have very little data to save, then using the PlayerPrefs class ...


1

There are quite a few things to improve, but that is expected from a new programmer. These are the tips for future: you should not be calling PlayerPrefs every single Update call. It just hogs performance. ... you should not trust static variables on counting stuff. Better approach would be to use Singleton pattern (answer of AndresBarrera), and use its ...


1

When updating the app, all the saved data will remain the same. This includes local files you write to, which you seem to be using.


1

I tested the code as I didn't see anything wrong with it and it works fine. Be sure to check if there are any yields, breaks, anything that could stop PlayerRemoving event from firing / executing the whole code.


Only top voted, non community-wiki answers of a minimum length are eligible