うどんてっくメモ

技術的なメモをまったりと

【Unity】新しいUnity Searchの隠れた機能紹介

はじめに

この記事はUnity Advent Calendar 2022の11日目の記事です。 今年も多くの記事が上がっているので、ぜひぜひチェックしてみてください!

qiita.com

本記事で紹介および検証を行なっているツールのバージョンは次の通りです。

  • Unity 2023.1.0a14

バージョンによっては挙動に差異がある場合もありますので、ご了承ください。

Unity Search

Unity上で開発する上で息をするように使うのがアセットやスクリプトなどの検索機能です。

Unityではこの検索機能に最近注力していて、Unity Searchの進化やパフォーマンス改善、設定の拡充などさまざまな改修が入っています。 詳しくは公式で動画としてUnity Learning Materialsにまとめられているのでそちらを参考にしてください。

learning.unity3d.jp

実は2022年の頭に自分も記事を書いています。

myudon.hatenablog.com

そんなUnity Searchの機能について、今回の記事では基本的な機能というよりはあまり知られていなさそうな機能について紹介します。 Query Builder ModeといったUnity Searchの機能を前提に話したりするので、わからない単語など出てきた際には前述の公式資料や自分の記事などを読んでいただければと思います。

検索条件の保存

色々な検索条件が指定できるUnity Searchですが、検索条件のパターンを保存して使いまわすことが可能になっています。 検索条件を入力している状態で、左に表示されているSearchesから保存アイコンを押すと入力されている検索条件を保存できます。

また、保存した検索条件の名前も変えることが可能です。複雑な条件は文字列だけ見ても分かりづらいので、直感的な名前をつけるとより使いやすいです。

そしてさらに便利なところが、ユーザーのスコープで保存するものとプロジェクトのスコープで保存するものを指定できる点です。 チーム内全員に需要があるような検索条件は積極的に共有すると捗ります。よく使うPrefabだったり、特定の機能に使うパーツだったり、パッと出てくると嬉しい検索条件をまとめて、プロジェクトのスコープで保存しておくとよいでしょう。

Search AssetStore

実はAssetStoreもSearch Windowによって検索することが可能です。 検索欄の最初に「store: 」とつけるか、Query Builder Modeで「in Asset Store」を設定するとAsset Store内の検索を行います。

ちょっと個人でモックを作っていてAsset Storeにいい感じのものがないかな、という際にサクッとキーワードをもとに検索できるのでたまに便利だったりします。 Component条件なども指定できちゃうのかな?と思って試しましたが、さすがに効かないようでした。あくまでもキーワードのみのようですが、もし何かしらのフィルタリングができそうであれば指摘していただけると助かります。

また、Window -> Search -> Asset Storeを実行すると最初からAsset Storeを対象にしたWindowを開くことも可能です。

Performance

エディタ上で実行されている処理の呼び出し回数や処理時間などを一覧にして確認する機能も実装されています。 Window -> Search -> Performance Trackersを実行すると専用のWindowが開きます。

処理の関数名とパラメータが一覧になっており、リアルタイムで更新されます。呼び出し回数や処理時間について突出しているものについては黄色や赤色の文字でハイライトされるためわかりやすいです。 何かしらエディタの動作が重かったり、独自で重めの拡張処理などを実装した際には名前で検索することでフィルタリングできます。

何かしらのエディタ上での便利機能やUI Toolkitの実装などを行なった際に、パフォーマンスに不安があれば一度確認してみるといいでしょう。

おわりに

Unity Searchはかなり進化していて、使いこなすことで普段の何気ない作業がかなり効率化されます。 他にも機能が用意されているので色々と試してみるのをおすすめします。