Update May 2019: This tutorial was updated to Unity 2019.1 by Ben MacKinnon. Original post by Jeff Fisher .
According to Unity, ScriptableObject is a hereditary class that allows you to store large amounts of shared data, regardless of script examples.
There are several reasons to use ScriptableObject in Unity. They can increase your workflow, reduce memory usage and even decouple the code architecture. You will also ease the memory usage of each additional prefab instance because in its core follows a ScriptableObject Flyweight design pattern.
Another benefit of ScriptableObjects, which will be the focus of this tutorial, uses them to easily exchange data. You will do this by creating a sword shop that will display different statistics, costs and descriptions for different swords.
In this tutorial, you learn how to create and use ScriptableObjects in Unity.
Start downloading the materials you need by using the link Download materials at the top or bottom of this tutorial.
Next, download the download to a location of your select and open up the project Scriptable Object Tutorial-Starter in Device.
You should see the following folder created as part of the startup project setup: