コンテンツにスキップ

スキャンと退避

スキャン結果 (Scan Result) タブの使い方です。ルートの設定が済んでいることを前提にします。

スキャン前の設定(すべて任意)

設定部分は折り畳めます。何も設定しなくてもスキャンできます。

スキャン範囲

フォルダを登録すると、そのフォルダ配下だけが退避候補として出ます。 未設定ならプロジェクト全体が対象です。「まず衣装フォルダだけ整理したい」というときに使います。

範囲を絞っても、判定が甘くなることはありません

候補として表示する範囲が変わるだけで、参照の解析は常にプロジェクト全体で行います。 範囲外のアバターから使われているアセットが、範囲を絞ったせいで未使用と判定されることはありません。

ツール出力フォルダ

衣装変換ツールなどには、ツール本体(スクリプトや DLL)と、変換して作った生成物を同じフォルダに置くものがあります。このツールはコードを含むフォルダを丸ごと保護するので、そのままでは——

生成物が巻き添えで保護されてしまう

生成物がどのアバターにも使われていなくても、ツール本体と同居しているせいで保護され、候補に出てきません。 生成物は変換のたびに積み上がるので、これでは掃除できません。

そこで、その出力フォルダ(例: Assets/なんとかツール/Outputs)を登録します。登録すると、中身をツール本体と切り離して判定し、未使用の生成物が候補に出るようになります。

これは「保護を外す」設定ではありません

ツール本体は登録後も保護されたままです。出力フォルダの中にスクリプトやシェーダーが入っていれば、それも従来どおり保護されます。 出力フォルダの中は 1 ファイル単位で判定されるため、使用中のものが 1 つあるせいで未使用の残り全部が隠れる、ということも起きません。

判定粒度

既定は 「導入単位フォルダを自動推定する」 です。

BOOTH などの配布物は「1 商品 = 1 フォルダ」で構成されていることが多いため、フォルダ内に使用中のアセットが 1 つでもあれば、そのフォルダごと残します。 衣装フォルダの中から使っていないテクスチャだけが抜き取られて壊れる、という事故を防ぐためです。

設定 挙動
自動推定(既定) 配布物のまとまりを推定し、フォルダ単位で残す/候補にする
固定深度 Assets/ から数えた指定階層をまとまりとして扱う
ファイル単位モード 1 ファイルずつ判定する。上級者向け・既定 OFF

ファイル単位モードについて

まとまりを無視して 1 ファイルずつ判定するため、配布物の一部だけが抜き取られることがあります。何が起きるか分かっている場合にだけ使ってください。

スキャンする

「スキャン実行(非破壊)」 を押します。この操作でファイルは動きません。

結果の読み方

候補はサイズの大きい順に並びます。

列 内容
選択 退避するかどうかのチェック。既定はすべてオフ
パス 対象の場所。クリックすると Project ウィンドウで選択されます
サイズ 退避で取り戻せる容量
種別 フォルダかファイルか
判定根拠 なぜこう判定されたか
保護 「保護に追加」でその場で保護リストへ登録できます

結果の上部には、次の一覧も表示されます。

一覧 意味
保護された単位 候補にしなかったものと、その理由。候補が 0 件のときも表示されます
暗黙ルートだけで使用中 アバターからは辿れず、ツールの設定などだけが生かしているもの(詳細)
退避候補 実際に退避できるもの

「未使用のはずなのに候補に出てこない」ときは、まず「保護された単位」を開いてください。 理由が書いてあります。

まとめて退避しないと壊れる組み合わせ

変換ツールの生成物は、変換元のマテリアルやテクスチャをそのまま共有していることがあります。変換元だけを退避して生成物を残すと、残った生成物が参照切れになります。

そこで、互いに参照し合っている候補はひとまとまりで表示され、まとめて選択されます。

  • グループ内のどれか 1 つにチェックを入れると、残りにも入ります。
  • 一部だけを退避することはできません。
  • グループ内では「元アセット」と「生成物」が区別して表示されます。

「変換したから元の衣装は消せる」とは限りません

変換後の衣装をアバターに着せている場合、変換元のマテリアルは本当に使用中です。この場合、変換元のフォルダは「使用中」として保護され、候補に出ません。これは正しい動作です。

退避する

  1. 退避したい行にチェックを入れます。
  2. 必要なら 「退避前に .unitypackage としてバックアップする」 をオンにします(もう一段の保険)。
  3. 「選択項目を退避(Move to Trash Folder)」 を押します。
  4. 確認ダイアログの内容を読み、実行します。

対象はプロジェクトルート直下の _UnusedAssets_日時/ へ、.meta ごと移動されます。

空になったフォルダは残しません

退避の結果、中身が空になった親フォルダは Assets/ に残しません(抜け殻で散らかるのを防ぐため)。畳んだフォルダも退避フォルダへ送られるので、復元すれば元どおりです(フォルダの GUID も保たれます)。畳まれる数は退避前の確認ダイアログに表示されます。

退避後は Console に Missing 参照の警告が出ていないか確認してください。

退避したものを戻す・完全に消す

プロジェクト直下の _UnusedAssets_… フォルダは自動で検出され、一覧表示されます。 スキャンしていなくても操作でき、Unity を再起動したあとでも残っています。

各フォルダには退避日時・件数・サイズ、.unitypackage バックアップの有無が表示されます。

操作 内容
フォルダを開く エクスプローラーで中身を確認します
復元 元の場所へ戻します。.meta ごと戻すので参照も復活します
完全削除 退避フォルダを削除します。取り消せません

退避フォルダを別の場所へ移動してしまった場合は、「退避フォルダを選んで復元」から手動で選べます。

完全削除は取り消せません

二段階の確認があり、このツールが作った退避フォルダ以外は削除できないようになっています。それでも、消す前に中身を確認してください。急ぐ理由がなければ、しばらく退避したまま様子を見ることをおすすめします。