以前紹介した「Unityエディタのクラッシュ時に失われたシーン情報を復旧させる裏ワザ」が、5.3で使えなくなっていたので、新しい方法についてです。
上手く使えば、Unityエディタがクラッシュや無限ループして編集中のシーン情報を飛ばした場合でも、過去の情報を復旧させることが出来ます。
復旧させる条件
- 復旧させるには、「クラッシュ後、クラッシュしたプロジェクトを再度開いていない事」が条件です。
もし一度でも開いてしまって居る場合、残念ながら復旧させることは出来ません。 - 復旧は「最後にゲームを”再生”した状態」に復旧します。
残念ながら、PrefabやAnimatorといったメタデータは、復旧されません。ProjectのSaveをこまめにする事をお勧めします。
実際に復旧させる
ゲームがクラッシュして死ぬ(仮)
まず、ゲームを再生します。
Unity 5.3からMulti Scene Editingが可能になったので、当然複数のシーン編集中に起動させます。
で、クラッシュしたと仮定します。
上にも書きましたが、ここでUnityエディタを立ち上げてはいけません。
失われたシーンを復旧する手順
次にUnityプロジェクトのフォルダへ移動します。そこで、Temp/__Backupscenesフォルダを退避します。退避場所は何処でもかまいませんが、Tempフォルダ以外です。
バックアップしたら、Unityエディタを立ちあげます。
そして、最後に開いていたシーンを同じように開いてください。もしシーンを保存していなければ、この時に焼野原ひろしが見えます。
では復旧させます。
まず、ゲームを再生します。で、再生中に先ほどバックアップした__Backupscenesフォルダを元あった場所に上書きします。
これで再生を停止させると、失われたシーンが復旧します。
一点注意すべき項目ですが、この「最後に開いていたシーンを同じように開く」際にシーンの順番が元々の並びと異なっている場合、「違う順番でシーンが設定」されます。
なお、この__Backupscenesフォルダ以下にある「0.backup」や「1.backup」等のファイルですが、これは.unityと拡張子を変更しAssets以下に含めることで、シーンファイルとして読み込む事が出来ます。
順番を忘れた場合、一旦これらのファイルを.unityに変更し内容を確認、順番を並べ替えるのが良いかもしれません。0番から順番です。