SVN or Git + Unity でやっておくこと

save prefabのショートカットキーを作成

prefabはApplyしてもファイルシステムへの保存が即時なされるわけではない。
変更後にすぐに git や Subversion にコミットしても変化が無かったり、空のプレファブをコミットしてしまったりで混乱を招くことがある。
これを回避するにはコミット前にUnityを終了する必要がある。
終了時に未保存のPrefabはちゃんとOS側のファイルシステムへ書き込まれる。

しかしそんなことを毎度操作してたら効率が悪いので特定のコマンドを実行するショートカットを用意する。

サンプル

      using UnityEngine;
      using UnityEditor;

      public class Util : Editor
      {
      #if UNITY_EDITOR
           [UnityEditor.MenuItem("Edit/SavePrefab %&s")]
           static void SavePrefab(){
                AssetDatabase.SaveAssets();
           }
      #endif
      }

gist

Menu Item のショートカットキー

ショートカットキーとして次の文字を特殊なキーの代わりに設定できる。
%#s で Command + Shift + s といった具合。

  • % : Command or Windows key
  • # : Shift key
  • &: Alt key

Unity Scripting Reference MenuItem

metaファイルの生成とPrefabデータのテキスト化

通常、Library下にUnityプロジェクト用ファイルが生成されるが、AssetServerを使うのでないのであれば、各Prefabに何がアタッチされているのかとか、インスペクタ上ではどんんあ値が入力されているか、とかはmetaファイルに格納される。このmetaファイルは各リソースファイルと同じところに置く必要がある。

これをしないとコミットしたプレファブのインスペクタが初期値(コードで指定した値)になる。

metaファイルの生成方法は次の通り。

Edit -> Project Settings -> EditorでInspector上にEditor Settingsが表示される。
この VersionControl の項目を MetaFiles にし、AssetSerializationForce Text にする。

これでprefabもTextベースになるのでDiffツール等で変更箇所が目視できるようになる。

Unityライブラリ辞典 ランタイム編

SVN or Git + Unity でやっておくこと」への2件のフィードバック

  1. ピンバック: UnityをSubversionで管理し、複数人で編集する | mooooogle.jp

  2. ピンバック: [Unity3D][github]Unity3D + github の環境設定 | もうなんか色々と断片化していま

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です