Unity

Unityでアセットの参照を高速に調べるツール【ReferenceViewer】

Unityでアセットの参照を高速に調べるツール【ReferenceViewer】
記事内に商品プロモーションを含む場合があります

特定のアセットがプロジェクト内のどこで使われているかサクっと調べたい時に使えるツールを作りました。

使い方ReferenceViewer

導入方法

いずれかの方法で導入して下さい。

GitHubからダウンロード

スクリプトもしくは設定ファイルを変更して使用する場合はGitHubからダウンロードして編集して下さい。

upmからインストール

Window > Package Manager を開き、左上あたりの+ボタンから「Add package from git URL…」を選択します。

Package ManagerPackage Manager

表示される入力欄に以下を入力して下さい。

https://github.com/ina-amagami/unity-reference-viewer.git

使い方

参照を検索したいアセットを右クリックして、「Find References In Project」を選択すればOKです。

ReferenceViewerの使い方

Macの場合はSpotlightとGrepが選択でき、Spotlightを使うと高速な検索ができます。

プロジェクトの規模が小さい場合はGrepの方が早く終わることもあります。

フォルダ内検索

フォルダを右クリックして実行した場合は、フォルダ内のアセットを全て検索します。

うっかりAssets内のアセット全てを対象にしてしまった場合も、×ボタンからキャンセルできます。

Projectビューでの選択

結果表示をクリックするとProjectビューで選択される機能もついてます。

プロジェクトビューで選択される

ツールの特徴

Unity上ではなくOS機能で検索

アセットのguidがファイル内に含まれているかどうかを見ることで、アセット同士の参照を調べることができます。

Unityのguidでアセットの参照を調べる【guidとは?】
Unityのguidでアセットの参照を調べる【guidとは?】Unityで不要になったアセットを削除する時など、どこかで使われていないか不安になったりしますよね。そんな時はguidで他のアセットやシーンから参照されていないか調べることができます。...

このツールは、上記の記事で解説しているのと同じようにUnityではなくOS側の検索機能を使ってファイルの中身を検索します。

対応しているのはWindows/Macです。

高速なファイル検索

他にも似たようなツールはあるのですが、プロジェクト全体を調べて検索用のキャッシュを作成する仕組みであることが多いです。

プロジェクトの規模次第では数十分から数時間かかってしまうこともあるので、すぐに調べたい時には使えません。

このツールを使う場合、Mac標準の検索機能であるSpotlightを使うと非常に高速に検索できます。

これはMacが検索用のインデックスを常日頃からキャッシュしているためです。

逆に言えばインデックスの作成対象から除外されていたりすると結果がおかしくなるので、正確な検索用にGrepを使用したバージョンも用意してあります。

参考:MacでSpotlightのインデックスを再作成する方法

GitGrep版について

kyubunsさんより、追加の検索方法としてgit-grepを使用したバージョンを追加して頂きました。

git管理されているプロジェクトであれば、Grepよりも高速な検索が可能です。

gitにインデックスされていないファイルは当然ながら対象外なので、その点はご注意下さい。