「この画像、どのPrefabで使ってたっけ?」「このMaterialを参照しているオブジェクトはどれ?」
プロジェクトが大きくなると、素材の管理が大変になってきます。この記事では、Unityで素材の参照関係を調べる方法を3つ紹介します。
目次
素材検索には2つの方向がある
まず、検索の考え方を整理しておきましょう。
| 方向 | 説明 | 例 |
|---|---|---|
| 上流→下流 | あるアセットが「何を使っているか」を調べる | Prefab → 使用しているTexture、Material |
| 下流→上流 | あるアセットが「どこで使われているか」を調べる | Texture → このTextureを使っているPrefab |
Unity標準機能では「上流→下流」は簡単にできますが、「下流→上流」は外部ツールが必要です。
方法1:Select Dependencies(Unity標準機能)
Prefabやシーンが「何を使っているか」を調べる方法です。
手順
- Projectウィンドウで調べたいPrefabを選択
- 右クリック →「Select Dependencies」を実行
- そのPrefabが使用しているModel、Material、Script、Textureなどが選択状態になる
注意点
この機能は「上流→下流」の検索のみ対応しています。たとえば「このMaterialを使っているPrefabはどれ?」という逆方向の検索はできません。
方法2:FindReferencesInProject(無料スクリプト)
素材が「どこで使われているか」を調べられる無料のエディタ拡張です。
導入手順
- 下記のQiita記事からFindReferencesInProject.csをダウンロード https://qiita.com/akihiro_0228/items/4dc0d12b90629a5fdcac
- Projectウィンドウに「Editor」フォルダを作成
- ダウンロードしたFindReferencesInProject.csをEditorフォルダに入れる
使い方
- Projectウィンドウで調べたいアセット(画像、Materialなど)を選択
- 右クリック →「Find References In Project」を実行
- そのアセットを参照しているPrefabやSceneが表示される
ショートカットを設定する(任意)
頻繁に使うなら、ショートカットを設定すると便利です。
FindReferencesInProject.csを開き、以下の2行を修正します。
// 変更前
[MenuItem("Assets/Find References In Project", true)]
[MenuItem("Assets/Find References In Project", false, 25)]
// 変更後(Ctrl+Fで実行できるようになる)
[MenuItem("Assets/Find References In Project %f", true)]
[MenuItem("Assets/Find References In Project %f", false, 25)]方法3:ReferenceViewer(高速検索ツール)
参照関係をキャッシュして高速に検索できるツールです。大規模プロジェクトにおすすめ。
導入手順
- GitHubからダウンロード https://github.com/anchan828/ReferenceViewer
- ダウンロードしたフォルダをAssetsに入れる
使い方
- メニューから「Window」→「ReferenceViewer」を開く
- 「Update」ボタンを押して参照関係をキャッシュする(初回は時間がかかります)
- 調べたい素材を選択し、右クリック →「Find References In Project」
ショートカットを設定する(任意)
ReferenceViewer.csを開き、35行目を修正します。
// 変更前
[MenuItem("Assets/Find References In Project")]
// 変更後
[MenuItem("Assets/Find References In Project %f")]3つの方法の比較
| 方法 | 検索方向 | 導入の手間 | 特徴 |
|---|---|---|---|
| Select Dependencies | 上流→下流 | 不要(標準機能) | 手軽だが逆方向は不可 |
| FindReferencesInProject | 下流→上流 | スクリプト1つ | 軽量でシンプル |
| ReferenceViewer | 下流→上流 | ツール導入 | キャッシュで高速検索 |
まとめ
- 「このPrefabが何を使っているか」はSelect Dependenciesで調べられる
- 「この素材がどこで使われているか」は外部ツールが必要
- 小規模ならFindReferencesInProject、大規模ならReferenceViewerがおすすめ
プロジェクトが大きくなる前に、検索ツールを導入しておくと後々楽になります。
