初めまして。UnityEditorについて質問があります。私は今自作のゲーム内のスクリプトのいくつかに以下のようなコードを書いています。
あらかじめ別のスクリプトでScriptableObjectを継承したものがあり、Unity上でAsset>Createで作ったものをResourcesフォルダにおいています。
ずっとこれでシーン間のステータスなどを管理していたのですが昨日iOSでBuildした際、エラーが出てしまい、調べた所using UnityEditorを使ったスクリプトはEditorフォルダに入れとかなければいけないと知りました。しかし、Editorフォルダに入れるとBuildされた時にすのスクリプトもBuildされないという記事も読み、実際、EditorフォルダにUnityEditorを使ったスクリプトを入れるとScriptableObject内の変数はうまく変更されませんでした。
そこで調べると#UNITY_EDITORでくくるという記事を見つけました。しかし#UNITY_EDITORでくくるとSetDirtyメソッドやAssetDataBaseがiOS、Android向けにBuildした際、うまく機能してるか心配です。
この前以下のスクリプトをiOS向けにBuildした際はusing UnityEditorが入っているのにも関わらずうまくいった気がするので頭がこんがらがっています。
UnityEditorを使ったAssetDataBase.SaveAssets()やSetDirtyはそもそもiOS向けにBuildしては機能しないのでしょうか。
どなたかご教授いただけると幸いです。
C#
1C# 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5using UnityEngine.UI; 6using UnityEditor; 7 8public class nantoka : MonoBehaviour { 9 10///省略 11 12///...... 13 14public void OnClick(){ 15 HogeHoge hogehoge = Resources.Load<HogeHoge>("HogeHoge"); 16 17 hogehoge.value = 4; 18 19 //ダーティとしてマークする(変更があった事を記録する) 20 EditorUtility.SetDirty(hogehoge); 21 22 //保存する 23 AssetDatabase.SaveAssets();} 24 25}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/17 09:59
2018/12/17 11:42
2018/12/17 12:30