読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】Unityエディタがクラッシュした際に失われた情報を復旧させる裏技(5.3以降)

以前紹介した「Unityエディタのクラッシュ時に失われたシーン情報を復旧させる裏ワザ」が、5.3で使えなくなっていたので、新しい方法についてです。

上手く使えば、Unityエディタがクラッシュや無限ループして編集中のシーン情報を飛ばした場合でも、過去の情報を復旧させることが出来ます。

復旧させる条件

  • 復旧させるには、「クラッシュ後、クラッシュしたプロジェクトを再度開いていない事」が条件です。
    もし一度でも開いてしまって居る場合、残念ながら復旧させることは出来ません。
  • 復旧は「最後にゲームを”再生”した状態」に復旧します。

残念ながら、PrefabやAnimatorといったメタデータは、復旧されません。ProjectのSaveをこまめにする事をお勧めします。

実際に復旧させる

ゲームがクラッシュして死ぬ(仮)

まず、ゲームを再生します。
Unity 5.3からMulti Scene Editingが可能になったので、当然複数のシーン編集中に起動させます。

f:id:tsubaki_t1:20160407233311j:plain

で、クラッシュしたと仮定します。

 

上にも書きましたが、ここでUnityエディタを立ち上げてはいけません

失われたシーンを復旧する手順

次にUnityプロジェクトのフォルダへ移動します。そこで、Temp/__Backupscenesフォルダを退避します。退避場所は何処でもかまいませんが、Tempフォルダ以外です。

f:id:tsubaki_t1:20160407233628j:plain

バックアップしたら、Unityエディタを立ちあげます。

そして、最後に開いていたシーンを同じように開いてください。もしシーンを保存していなければ、この時に焼野原ひろしが見えます。

f:id:tsubaki_t1:20160407233821j:plain

では復旧させます。

まず、ゲームを再生します。で、再生中に先ほどバックアップした__Backupscenesフォルダ元あった場所に上書きします。

これで再生を停止させると、失われたシーンが復旧します。

f:id:tsubaki_t1:20160407235403g:plain

一点注意すべき項目ですが、この「最後に開いていたシーンを同じように開く」際にシーンの順番が元々の並びと異なっている場合、「違う順番でシーンが設定」されます。

 

なお、この__Backupscenesフォルダ以下にある「0.backup」や「1.backup」等のファイルですが、これは.unityと拡張子を変更しAssets以下に含めることで、シーンファイルとして読み込む事が出来ます。

順番を忘れた場合、一旦これらのファイルを.unityに変更し内容を確認、順番を並べ替えるのが良いかもしれません。0番から順番です。

f:id:tsubaki_t1:20160407235932j:plain

関連

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp