Un ScriptableObject es un asset de Unity pensado para guardar datos dentro del proyecto.

No es lo mismo que un archivo de guardado del jugador.

Crear clase

using UnityEngine;

[CreateAssetMenu(
    fileName = "NuevoItem",
    menuName = "Datos/Item"
)]
public class ItemData : ScriptableObject
{
    public string nombre;
    public int precio;
    public Sprite icono;
}

Crear asset

Después aparece una opción en:

Create → Datos → Item

Usarlo

[SerializeField]
private ItemData item;

Leer:

Debug.Log(item.nombre);
Debug.Log(item.precio);

Usos comunes

Importante

Los ScriptableObjects son excelentes para datos de diseño.