特定のアセットがプロジェクト内のどこで使われているかサクっと調べたい時に使えるツールを作りました。
導入方法
いずれかの方法で導入して下さい。
GitHubからダウンロード
スクリプトもしくは設定ファイルを変更して使用する場合はGitHubからダウンロードして編集して下さい。
upmからインストール
Window > Package Manager を開き、左上あたりの+ボタンから「Add package from git URL…」を選択します。
表示される入力欄に以下を入力して下さい。
https://github.com/ina-amagami/unity-reference-viewer.git
使い方
参照を検索したいアセットを右クリックして、「Find References In Project」を選択すればOKです。
Macの場合はSpotlightとGrepが選択でき、Spotlightを使うと高速な検索ができます。
プロジェクトの規模が小さい場合はGrepの方が早く終わることもあります。
フォルダ内検索
フォルダを右クリックして実行した場合は、フォルダ内のアセットを全て検索します。
うっかりAssets内のアセット全てを対象にしてしまった場合も、×ボタンからキャンセルできます。
Projectビューでの選択
結果表示をクリックするとProjectビューで選択される機能もついてます。
ツールの特徴
Unity上ではなくOS機能で検索
アセットのguidがファイル内に含まれているかどうかを見ることで、アセット同士の参照を調べることができます。
このツールは、上記の記事で解説しているのと同じようにUnityではなくOS側の検索機能を使ってファイルの中身を検索します。
対応しているのはWindows/Macです。
高速なファイル検索
他にも似たようなツールはあるのですが、プロジェクト全体を調べて検索用のキャッシュを作成する仕組みであることが多いです。
プロジェクトの規模次第では数十分から数時間かかってしまうこともあるので、すぐに調べたい時には使えません。
このツールを使う場合、Mac標準の検索機能であるSpotlightを使うと非常に高速に検索できます。
これはMacが検索用のインデックスを常日頃からキャッシュしているためです。
逆に言えばインデックスの作成対象から除外されていたりすると結果がおかしくなるので、正確な検索用にGrepを使用したバージョンも用意してあります。
参考:MacでSpotlightのインデックスを再作成する方法
kyubunsさんより、追加の検索方法としてgit-grepを使用したバージョンを追加して頂きました。
git管理されているプロジェクトであれば、Grepよりも高速な検索が可能です。
gitにインデックスされていないファイルは当然ながら対象外なので、その点はご注意下さい。