hiyorinのブログ

主にUnityに関してのメモを残していきます

特定の種類(拡張子)のファイルだけを設定したい

シーンファイルをインスペクタから設定したい状況になった。

調べてみたところシーンファイルはDefaultAssetクラスでした。

DefaultAssetをシリアライズしてインスペクタから設定してみたところシーンファイルだけを設定することができなかった。

なので、拡張子で判断して.unity以外のものを弾くようにします。

特定の種類(拡張子)のファイルだけを設定したい

AssetDatabase.GetAssetPathでAssetsフォルダからのパスが取れます。

ここで取得したパスには拡張子もついてきます。

 

FilterFileExtension属性の引数に拡張子の名前をドット抜きで入れてください。

ここに「unity」と入れればシーンファイルだけが設定できるようにできます。

 

前述したとおりシーンファイルはDefaultAssetなのですがObjectに入れています。

これはDefaultAssetだとエディターではビルドは通りますがパッケージの際にエラーが出てしまうからです。