(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]



ファイルやフォルダを開いたり保存したりするためのダイアログの表示【Unity】【エディタ拡張】


このエントリーをはてなブックマークに追加



この記事でのバージョン
Unity 2019.4.9f1


はじめに

今回はファイルやフォルダを開いたり保存したりする時のダイアログを

Unityから表示する方法の紹介です!

f:id:kan_kikuchi:20201018142850j:plain


なお、あくまでUnityエディタだけで使える方法であり、

ビルドした実際のゲーム中では使えませんのであしからず。


ファイルやフォルダを開く時のダイアログ

ファイルを開く時のダイアログはEditorUtilityのOpenFilePanelで表示する事が出来ます。

ただし、選択したファイルのパスを取得出来るだけで、

ファイル自体を取得する事は出来るわけではありません。



引数で順に説明、初期フォルダ、拡張子を指定する感じで、

ダイアログで選択したファイルのパスを返り値で取得できます。(何も選択してない場合は空文字)

string path = EditorUtility.OpenFilePanel("Spriteを選んでください", "Assets/Sprite", "png");
Debug.Log($"{path}を選択しました");
f:id:kan_kikuchi:20201018142850j:plain


なお、説明は設定しても表示されず(Macだから?)、

拡張子は"png,meta"のように複数指定する事も""で全拡張子を許容する事も可能です。


同様にフォルダを開く時のダイアログはEditorUtilityのOpenFolderPanelで表示する事が出来ます。

これも、選択したフォルダのパスを取得出来るだけで、

フォルダ自体を取得する事は出来るわけではありません。



引数で順に説明、初期フォルダ、デフォルト名(?)を指定する感じで、

ダイアログで選択したフォルダのパスを返り値で取得できます。(何も選択してない場合は空文字)

string path = EditorUtility.OpenFolderPanel("フォルダを選んでください", "Assets", "");
Debug.Log($"{path}を選択しました");
f:id:kan_kikuchi:20201018152107j:plain


なお、デフォルト名は変更しても何も変わりませんでした。(Macだから?)


ファイルやフォルダを保存する時のダイアログ

ファイルを保存する時のダイアログはEditorUtilityのSaveFilePanelで表示する事が出来ます。

ただし、保存先のファイルのパスを取得出来るだけで、ファイルの保存が出来るわけではありません。



引数で順に説明、初期フォルダ、デフォルト名、拡張子を指定する感じで、

ダイアログで決定した保存先のパスを返り値で取得できます。(キャンセル時は空文字)

string path = EditorUtility.SaveFilePanel("フォルダを選んでください", "Assets/Sprite", "defaultName","png");
Debug.Log($"{path}を選択しました");
f:id:kan_kikuchi:20201018154440j:plain


なお、説明は設定しても表示ませんでした。(Macだから?)



同様にフォルダを保存する時のダイアログはEditorUtilityのSaveFolderPanelで表示する事が出来ます。

これも、保存先のフォルダのパスを取得出来るだけで、ファイルの保存が出来るわけではありません。



引数で順に説明、初期フォルダ、デフォルト名(?)を指定する感じで、

ダイアログで決定した保存先のパスを返り値で取得できます。(キャンセル時は空文字)

string path = EditorUtility.SaveFolderPanel("保存先を選んでください", "Assets", "");
Debug.Log($"{path}を選択しました");
f:id:kan_kikuchi:20201018154911j:plain


なお、デフォルト名は変更しても何も変わりませんでした。(Macだから?)