Unityを再起動するとScriptableObjectの中身が消える問題

unity

ScriptableObjectに値を保存する方法は2つあります。

  1. インスペクタから手動で保存する方法
  2. スクリプトから保存する方法

1の場合には問題は起きませんが、2の場合Unityを再起動すると値が消えてしまう問題に直面しました。

原因は.assetファイルに保存が反映されていないこと。

解決するには保存するスクリプトに以下のコードを追記する必要があります。

参考:https://kan-kikuchi.hatenablog.com/entry/ScriptableObject_SetDirty_SaveAssets

おわり。