質問: 【前提・実現したいこと】 ------------ * ゲーム上でゲームオブジェクトを配置し、その座標をScriptableObjectに書き込むような設定用のシーンを作りたいです。 * 書き換えたScriptableObjectをシーンを切り替えても値が変わらないようにしたいです。 * 開発環境はUnity 5.4.3f1 Personal 【症状】 ---- UnityでScriptableObjectを設定するようなシーンを作成しました。 シーン上に配置されているゲームオブジェクトの座標を Scriptableオブジェクトにコピペするような処理です。 ゲームを実行してボタンを押すと Scriptableオブジェクトが書き換わり ゲームを停止しても書き換わったままでいてくれるのですが シーンを切り替えると書き換える前に戻ってしまいます。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/e2c2cfca44aa00fc099fb78ca5b7b0b9.gif) 1. ゲームを再生 2. ボタン押下でスクリプトを実行 3. スクリプトからProject上のScriptableObjectを書き換え 4. ゲーム停止 5. シーン切り替え 【補足】 ---- * ScriptableObjectの値をProjectウィンドウ上から、手入力するとシーンを切り替えても値が戻ることはないです。 * GIFアニメの中での切り替え先のシーンからは問題のScriptableObjectを参照したりはしていません。 * Editorフォルダ内にもScriptableObjecを編集するようなスクリプトは入ってません --- 調べたかぎり似たような現象なども見当たらず困っております。 どうかよろしくお願いいたします。
回答: 確証は持てませんが、こちらの事例と似ているように思います。 ScriptableObjectを書き換える際にEditorUtility.SetDirtyを入れてみたり、書き換え前にUndo.RecordObjectを入れてみたりすると何か変化はあるでしょうか?