テラシュールブログ

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

Unityに自動セーブ機能を追加してみた

Unityのクラッシュ対策に、シーン情報を一定時間ごとに保存する機能を作ってみました。

機能は2つ、シーンの情報を一定時間(もしくはシーン再生時)に保存する機能と、
シーン情報をバックアップし、ロールバック可能な状態で保持する機能です。

これを使えばクラッシュ時に盛大にバージョンが戻るといった事は無くなると思いますが、何かあるかもしれないので自己責任でお使い下さい。あとアイディアのフィードバックがあるとちょっとだけ嬉しいです。

スクリーンショット 2014-01-30 23.37.50
スクリーンショット 2014-01-30 23.39.52

AutoSave.cs


インストール方法

インストールするには、Editorフォルダ以下にAutoSave.csを配置します。

packageを用意したので、面倒ならこれを入れて下さい。
AutoSave.UnityPackage


オートセーブ機能のON

オートセーブをONにするには、PreferenceのAuto Saveにチェックを入れ、後適当な項目にチェックを入れます。

スクリーンショット 2014-01-30 23.50.53

save prefab : 保存時、プレハブ等々のアセット情報を保存する
save scene : 現在のシーンを保存する
SaveSceneInterval : 一定時間ごとにシーンを保存するか否か
Interval : 保存する間隔



バックアップ、ロールバック

File>Backup>Backupで現在のシーンをBackupフォルダへ退避、
File>Backup>Rollbackで、Backupを行った状態へ戻します。


スクリーンショット 2014-01-30 23.31.24
バックアップしたシーンファイルはBackupフォルダにあるので、
バージョン管理時は外しておくと吉です。


昼ごろにTwitterで「自動保存機能が無くて4時間無駄に云々」を呟いていた人がいたので、それを見て思いつきました。「そうだ、オートセーブ機能をつくろう」。

ベースは[Unity]エディタのクラッシュ対策、再生時にプレハブ(やシーン)を保存です。
何でも残しておくものですね。


半自動化済み。
半自動の説明は 自動保存機能を少し改修、バックアップを半自動に