この記事でのバージョン
Unity 2019.4.9f1
はじめに
今回はファイルやフォルダを開いたり保存したりする時のダイアログを
Unityから表示する方法の紹介です!
なお、あくまでUnityエディタだけで使える方法であり、
ビルドした実際のゲーム中では使えませんのであしからず。
ファイルやフォルダを開く時のダイアログ
ファイルを開く時のダイアログはEditorUtilityのOpenFilePanelで表示する事が出来ます。
ただし、選択したファイルのパスを取得出来るだけで、
ファイル自体を取得する事は出来るわけではありません。
引数で順に説明、初期フォルダ、拡張子を指定する感じで、
ダイアログで選択したファイルのパスを返り値で取得できます。(何も選択してない場合は空文字)
string path = EditorUtility.OpenFilePanel("Spriteを選んでください", "Assets/Sprite", "png"); Debug.Log($"{path}を選択しました");
なお、説明は設定しても表示されず(Macだから?)、
拡張子は"png,meta"のように複数指定する事も""で全拡張子を許容する事も可能です。
同様にフォルダを開く時のダイアログはEditorUtilityのOpenFolderPanelで表示する事が出来ます。
これも、選択したフォルダのパスを取得出来るだけで、
フォルダ自体を取得する事は出来るわけではありません。
引数で順に説明、初期フォルダ、デフォルト名(?)を指定する感じで、
ダイアログで選択したフォルダのパスを返り値で取得できます。(何も選択してない場合は空文字)
string path = EditorUtility.OpenFolderPanel("フォルダを選んでください", "Assets", ""); Debug.Log($"{path}を選択しました");
なお、デフォルト名は変更しても何も変わりませんでした。(Macだから?)
ファイルやフォルダを保存する時のダイアログ
ファイルを保存する時のダイアログはEditorUtilityのSaveFilePanelで表示する事が出来ます。
ただし、保存先のファイルのパスを取得出来るだけで、ファイルの保存が出来るわけではありません。
引数で順に説明、初期フォルダ、デフォルト名、拡張子を指定する感じで、
ダイアログで決定した保存先のパスを返り値で取得できます。(キャンセル時は空文字)
string path = EditorUtility.SaveFilePanel("フォルダを選んでください", "Assets/Sprite", "defaultName","png"); Debug.Log($"{path}を選択しました");
なお、説明は設定しても表示ませんでした。(Macだから?)
同様にフォルダを保存する時のダイアログはEditorUtilityのSaveFolderPanelで表示する事が出来ます。
これも、保存先のフォルダのパスを取得出来るだけで、ファイルの保存が出来るわけではありません。
引数で順に説明、初期フォルダ、デフォルト名(?)を指定する感じで、
ダイアログで決定した保存先のパスを返り値で取得できます。(キャンセル時は空文字)
string path = EditorUtility.SaveFolderPanel("保存先を選んでください", "Assets", ""); Debug.Log($"{path}を選択しました");
なお、デフォルト名は変更しても何も変わりませんでした。(Macだから?)