Unityのエディタ拡張で文字列をファイルに保存する方法です。
ソースコード
早速ですがソースコードです。
using UnityEngine; using UnityEditor; using System.IO; public static class Example { /// <summary> /// 文字列をファイルに上書き保存 /// 保存先選択パネルを表示 /// </summary> public static void SaveTextToFile(string text, string extension) { // 保存先のファイルパスを取得する var filePath = EditorUtility.SaveFilePanel("Save", "Assets", "default_name", extension); // パスが入っていれば選択されたということ(キャンセルされたら入ってこない) if (!string.IsNullOrEmpty(filePath)) { // 上書き保存 SaveTextToFile(text, filePath, true); } } /// <summary> /// 文字列をファイルに保存 /// </summary> public static void SaveTextToFile(string text, string filePath, bool append = false) { // ファイルに文字列を書き込む var sw = new StreamWriter(filePath, append); sw.WriteLine(text); sw.Flush(); sw.Close(); // アセットだったらRefresh if (filePath.Contains(Application.dataPath)) { AssetDatabase.Refresh(); } } }
説明はコメントの通りですが、StreamWriterを使って書き込むのがポイントです。
また、 AssetDatabase以外の機能でAssetを作っているためRefresh()を呼ぶ必要があります。