バックアップとログ¶
保存先¶
バックアップと記録は、プロジェクト直下(Assets/ の外)に作られます。
<プロジェクトフォルダ>/AssetSanshounaosuNator_Backup/<日時>/
Assets/ の外にあるのは、Unity にインポートさせないためです。バックアップした .prefab がプロジェクト内に増えると、それ自体が新しい参照の混乱を生みます。
バージョン管理から外れている場合があります
Assets/ の外なので、プロジェクトの .gitignore の書き方によっては Git に含まれません。大事な修復の前後では、この中身を自分でどこかへ退避しておくと確実です。
何が入っているか¶
実行の種類ごとに、日時のフォルダが 1 つ作られます。
| ファイル | いつできるか | 中身 |
|---|---|---|
inspection.md |
検査したとき | 検査対象と、検出した問題の一覧 |
batch-inspection.md |
まとめて検査したとき | 全体の件数と、Prefab ごとの問題一覧 |
repair.md |
修復したとき | どのファイルの何行目を、どの GUID からどの GUID へ変えたか |
recovery.md |
ごみ箱から復元したとき | コピー元・コピー先と結果 |
*.prefab |
修復したとき | 書き換える前の Prefab そのもの |
修復のときは、書き換え前の .prefab が同じフォルダにコピーされています。 これが元に戻すための本体です。
検査しただけでもフォルダは増えます
検査は非破壊ですが、記録は残します。フォルダが増えすぎたら、修復を含まないもの(inspection.md だけのもの)から削除して構いません。
元に戻す¶
修復の結果に納得できない場合、バックアップされた .prefab で上書きすれば元の状態に戻せます。
- Unity を開いたまま、対象の Prefab を Prefab Mode で開いていないことを確認します。
AssetSanshounaosuNator_Backup/<日時>/の中から、目的の.prefabを探します。日時とフォルダ内のrepair.mdで、どの修復のものかを確認してください。- その
.prefabを、元の場所のファイルに上書きコピーします。 - Unity に戻ると再インポートが走ります。走らない場合は、Project ウィンドウで対象を右クリックして Reimport します。
上書きする前に、行き先が合っているか確認してください
バックアップのファイル名は元のファイル名と同じですが、フォルダ構造は保持していません。 同名の Prefab が複数ある場合、repair.md に書かれているパスで行き先を確認してください。
戻したあと、もう一度「参照を検査」すると、修復前の状態に戻っていることを確認できます。
元に戻せないもの¶
次の操作は、この方法では戻せません
| 操作 | なぜ |
|---|---|
| Force Text への変換 | プロジェクト全体の設定変更です。Unity の設定から戻せますが、再度の再シリアライズが走ります |
| ごみ箱からの復元 | ファイルを追加する操作です。戻したいなら、追加されたファイルを自分で削除してください(ごみ箱の原本は残っています) |
.unitypackage のインポート |
ツールは実行しません。あなたが自分で行った操作なので、影響範囲もあなたの側にあります |
ログの読み方¶
repair.md には、実行ごとに次が追記されます。
## repair
timestamp: …
success: true
method: …
file: Assets/Avatar/Hoodie.prefab
line: 2481
oldGuid: 3f2b…
newGuid: 8ac1…
まとめて修復した場合は、変更した全行の Diff が続けて記録されます。画面のプレビューには先頭数行しか出ないので、全部を確認したいときはこのファイルを見てください。