Overview
A Scriptable Object is a Unity special object type that doesn't need to be attached to a game object on a scene to exist, because it can be saved as an asset in the project. This class is used as a base for most of the special editor classes that we saw in the previous chapters, such as the Editor
and EditorWindow
class. However, the principal use for that in this chapter is to going to be saving data in a persistent way.
In some scenarios, this has benefits over using XML, JSON, or plain text files because Unity will handle all the serializing and parsing for you without the necessity of a custom parser or third-party tool.
When you create tools for game designers, you may want to allow them to experiment with values that affect how the video game behaves.
In this chapter, you will learn how to use Scriptable Objects to store data and make it persist in the Play mode.
Defining the chapter goals
In this chapter, we will use Scriptable Objects to allow game designers to tweak level settings...