コンテンツにスキップ

候補を探す:ごみ箱

Unity の Project ウィンドウで削除したアセットは、多くの場合 OS のごみ箱に入っています。このモードは、ごみ箱の中を読み取り専用で探して、消してしまったアセットを見つけます。

探索設定の「モード 3: OS ごみ箱」で有効・無効を切り替えられます。

先に限界を書いておきます

ごみ箱探索は万能ではありません

次の場合、回収できません。 ツールにできることはありません。

  • ごみ箱を空にした
  • Shift+Delete などで完全に削除した
  • OS の設定で自動削除された(一定期間経過後の削除など)
  • ごみ箱がアクセスできない場所にある

ごみ箱は「まだ消えていないかもしれない」場所であって、保管庫ではありません。

対応している OS

探索設定に、現在の環境で何が対象になるかが表示されます。

OS 状況
Windows 標準のごみ箱($Recycle.Bin)に対応
macOS 実装していますが、実機では確認していません
Linux 実装していますが、実機では確認していません

いずれの OS でも、アクセス権や OS 側の保存形式の変更によって、一部を列挙できないことがあります。列挙できなかった場所は警告として表示されます。

走査する

「探索設定」の「ごみ箱を再走査」を押します。走査中は進捗が出て、キャンセルできます。

ごみ箱を走査しました: 412 件。

一度走査すると結果はメモリ上に保持され、以後の「候補を探す」で使われます。ごみ箱の中身を変えたあとは、押し直してください。

.meta があるかどうかで結果が変わります

このモードの結果は、.meta が一緒にごみ箱へ入っているかどうかで、性質がまったく変わります。

状況 判定 意味
.meta があり、その GUID が一致 確実な復元 元のアセットそのものです。GUID を保ったまま戻せます
.meta が無く、名前だけ一致 推測 別物かもしれません。戻しても GUID は別になります
.meta はあるが本体が無い 回収不可 「回収しても参照は直りません」と表示され、ボタンが押せません

.meta が無ければ GUID は戻りません

GUID は .meta に書かれています。本体だけを戻しても Unity が新しい GUID を振るので、壊れた参照はそのままです。 その場合は、戻したあとにプロジェクト内の候補として選び直す必要があります。

復元する

候補の「ごみ箱からコピーして復元」を押すと、確認ダイアログが出ます。

本体: C:\$Recycle.Bin\...
復元先: D:\...\Assets\...
.meta も同時にコピーして GUID を保持します。

承認すると、次のように動きます。

  1. ごみ箱の原本は残したまま、プロジェクトへコピーします(移動ではありません)。失敗しても、ごみ箱の中身は減りません。
  2. .meta があれば一緒にコピーして GUID を保ちます。
  3. 復元先は、元のパスがこのプロジェクトの Assets/ 配下ならそこ。そうでなければフォルダ選択ダイアログが出ます。選べるのはこのプロジェクトの Assets/ 配下だけです。
  4. 復元先に同名のファイルがある場合、上書きせず中止します。
  5. コピー後、再インポートと再検査が自動で走ります。

GUID が一致しなかった場合は警告が出ます

.meta をコピーしたのに復元後の GUID が一致しないことがあります。その場合はその旨が表示されるので、再検査の結果を確認してください。

ごみ箱の中身は一切変更しません

読み取りとコピーだけを行います。ごみ箱の中のファイルを削除も移動もしません。 うまくいかなかったとしても、ごみ箱の状態は走査前と同じです。