The safe way(s) to move forward

There is a bit of confusion about how the two section of the save system work, but it’s actually fairly easy. Or should be.

Option one: be a user of the save system. Import it as a ready-made asset and work through this first section on the save system to learn how to master using it.
This is likely the easiest and fastest way to get the save system into the project and continue with the next part of the course’s goodness, “Simple Weapons”.

The valuable lesson in here also is to learn how to make use of a tooling asset pack that contains more than just graphics or sounds or animations, in your project. Which in a way is similar to having a project and adding CineMachine or other packages…

Option two: Skip this section and dive right into the second section on the save system and go through build it ground up.
This way one would know it much better and also learn quite a few things that go beyond the confines of Unity’s runtime and tackle some integrations into the system below, accessing the filesystem etc.

Now there is also the controversy about the course using the “Binary Formatter” which is a thing one should be avoiding now, and the changes that Brian has prepared in the Wiki pages on using JSON as a saving format instead.

Now, the changes to the save system to convert it into JSON apparently go on top of it, so either way if you were just doing the “use it as an asset” or the “build it ground up” you would then be going through the wiki and adjusting the code…
Would there be a possibility to get the asset already JSONified instead, and how difficult would it be to apply the course lessons to the changed version if one wanted to just use it?

How much of the code outside of the save system itself has to be changed in order for it to work with JSON? Any at all?

Also, I structured my project slightly different in some places, how much of an issue will that be if I just wanted to go the easy way and use the provided package? (For example I put my scripts into a folder called Code instead of Scripts…)

After having watched the Overview and imported the package I find it’s actually much less of a system than I expected, i.e. none of the parts I would have expected dealing with selecting a save file for loading or saving and the UI to go with it are part of it.

All it has is one script for loading&saving the data, one script for a component to attach to all gameobjects in a scene you want to be saved, and an interface to add to other scripts that might be providing or receiving data to be saved (like the Health component providing the current hit points). And there’s some wrapper for Vector3 to make it more convenient to supply transform information in the methods one would have to implement in one’s own scripts…

I was thinking it would be much bigger…

Privacy & Terms