Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 Disaster Recoveryでエディタークラッシュ時の作業を修復する

UE4.23の新機能でDisaster Recovery(災害時回復)というものが追加されました。これまでもオートセーブ機能によりクラッシュした際に作業を以前の状態に戻したり出来ましたが、Disaster Recoveryはもっと強力なリカバリー機能です。4.23時点ではあくまでもExperimental(実験的機能)という事を念に置いて使ってみます。

ちなみに4.23のリリースノートは以下から。
docs.unrealengine.com

まずはプラグインをオンにする

実際にDisaster Recoveryを利用するためにはまずプラグインをオンにする必要があります。

f:id:alwei:20190929211225p:plain

"Editor"カテゴリー内にありますので、オンにしてからエディターを再起動してください。これでDisaster Recoveryが利用可能となります。

色々なものを編集して強制的にクラッシュさせてみる

適当なアセットを開き、編集してみます。そして実際に意図的なクラッシュを発生させます。

f:id:alwei:20190929211659p:plain

これを…

f:id:alwei:20190929212144p:plain

ものすごく適当に編集しました。他にもBPやアニメーションも細かいところを編集してみました。これを一切保存しないまま、クラッシュさせます。

今回はわかりやすくタスクマネージャーから強制終了させることに。

f:id:alwei:20190929212437p:plain

もちろん普段はこんなことやってはいけません(当たり前)

それでは再起動させてみます。

f:id:alwei:20190929212704p:plain

再起動させると、最初はあれ?修復は?と思うかもしれませんが、すぐにDisaster Recoveryが起動します。このようなウィンドウが開けば無事リカバリーモードが効いていることになります。左側にタイムスタンプが表示されているので、必要修復ポイントの時間を選択し、右下の"Recover"ボタンを選択します。

f:id:alwei:20190929213045p:plain

暫く修復に時間はかかりますが、終わると完全に元の状態に戻っています。

f:id:alwei:20190929213201p:plain

ブループリントも編集しましたが、この通り。しっかり編集したノードの情報も残っています。

当然ですが、これらはエディター起動後から一切保存をしていなかったアセットです。ですが完璧に元に戻りました。すごいぞ、Disaster Recovery!

オートセーブと併用すべきか

現状では既存のオートセーブよりも強力な機能で、ほぼ完全に保存していなかった作業が修復されます。しかもDisaster Recoveryは保存を行なわずに履歴を完全に残してくれているので、オートセーブのような保存時の停止もありません。

かなり快適で素晴らしい機能なのですが、Experimental(実験的機能)ということもあり、膨大な作業の後の修復などは上手くいかない可能性もあるかもしれません。ただオートセーブがなかなか上手くバックアップしてくれない時や、保存の時に停止があるのが嫌だという人にはいいかもしれません。個人的には上手く併用できればと思っていますが、やっぱり保存する習慣をつけておくのが一番だと思います。

Disaster Recoveryが動作している動画