ファイル読み込みを自分で呼び出して認識させる【Unity】
起こった問題
Unity実行中に、System.IO.Fileクラスで作成したファイル、フォルダや、その他方法で作成したデータをAssetフォルダ上に置いて使用するとします。
ですが、Unityエディタ上ではすぐ認識されず、Unity側の認識を待たなければResources.Loadなどではロードできない状況になります。
ProjectViewで確認してもわかりますが、実行中にファイルをAssetフォルダに含めても、更新がかかるまで少し待つことになります。
解決策
AssetDatabase.Refresh()を使用します!
docs.unity3d.com
なお、AssetDatabase.Refresh()を使用する時はUnityEditorをusingする必要があるので、この動作はエディタ上限定になります。
実際に確かめてみる
Refresh有り無しでファイル生成処理を比較します。
動かしてみるとわかりますが、Refreshを書かない場合、Resources.Loadで取得しようとすると認識されません。
Refreshを書くとロードされます。