【Unity】globパターンを使ってアセットを検索する(Unity2020からの新機能)

Unityでglobパターンを使ってアセットを検索する方法についてまとめました。

Unity2020.2.7f1

globパターンでアセット検索ができるように

Unity2020からglobパターンを使ってアセットを検索できるようになりました。
今までファイルパスを記述して検索していた箇所で、glob:"[globパターン]"というフォーマットで記述することで使用できます。

例えば下図のようにProjectビューの検索ウィンドウや、AssetDatabaseのAPIなどで使用できます。

f:id:halya_11:20210524205024p:plain
globパターンで検索

ちなみに上図は「Exampleフォルダ及びそのサブフォルダ内のexample_から始まるすべてのPrefabを検索」するパターンです。

globパターンの書き方

Unityでサポートされているglobパターンの書き方は以下の通りです。

記号 説明
* 0個以上の文字に一致
ただしディレクトリ区切り記号(/)には一致しない
glob:"Example/*.prefab"
Example内のすべてのPrefabに一致
? 一文字に一致 glob:"Example/pfb_character_?.prefab"
以下のアセットに一致
・Example/pfb_character_1.prefab
・Example/pfb_character_2.prefab
以下のアセットには一致しない
・Example/pfb_character_01.prefab
[任意の2つ以上の文字] いずれか一つの文字に一致 glob:"Example/pfb_character_[123].prefab"
以下のアセットに一致
・Example/pfb_character_1.prefab
・Example/pfb_character_2.prefab
以下のアセットには一致しない
・Example/pfb_character_01.prefab
([パターン1]|[パターン2]) いずれかのパターンに一致するものに一致 glob:"(Example/*.prefab|Example2/*.prefab)"
ExampleディレクトリあるいはExample2ディレクトリのすべてのPrefabに一致
** あらゆるファイルや0個以上のディレクトリに一致 glob:"Example/**.prefab"
Exampleディレクトリおよびそのサブディレクトリ内のすべてのPrefabに一致

参考

unity3d.com