Boltのリビジョン管理 ~Git~
unity2021.3 以降の .gitignore についてはこちら。
→ https://note.com/maruton/m/m39bddbc67fd7
BoltでGitを用いてリビジョン管理をちょっと試してみたのでメモ。
※現状気づいた範囲なので、何かわかれば随時更新予定。
.gitignore は従来のUnityと同じ
基本的に従来のUnity用の .gitignore で問題ない感じ。
※ただちょっと気になる情報も見かけたので、何かわかれば追記。
この辺とかの一般的なUnity用の .gitignore ファイルで問題ない感じ。
https://gist.github.com/teocomi/fbd014c26c63c7c1055d025e2339dea7
Install Bolt フォルダは不要なので削除
Tool > Install Bolt でインストールも完了していれば、以下のフォルダは不要なので削除してからコミットしよう。
/Assets/Install Bolt
初回Pull時 Bolt の Setup Wizard が自動起動した場合
インストール時と同じ要領でNaming等を設定すればOK。
Macroで作成しておく
Flow Machine や State Machine の作成はEmbedかMacroかを選択できる。Macroなら個々に別ファイルになるのでGitでも管理がわかりやすそう。
(Embededだとゲームオブジェクトに内蔵されるようなイメージ)
別のGameObjectに 作成済のFlow Machineを付け直す際も、Macroなら指定するだけなので簡単。
Unityで複数人で開発する基礎知識
そもそもの話として複数人での開発では注意点がいろいろある。
以下のリンク先はUnity4とちょっと古いですが見ておいて損はない。
(Unityの中の人のブログ)
デザイナーはこれくらい把握しておけばとりあえずOK。
プログラマはこっちも見ておくと良いかも。
http://tsubakit1.hateblo.jp/entry/20140613/1402670011
よもやま話
UnityのC#+Bolt開発のリビジョン管理は、多分感覚的にはUE4のブループリント&C++開発に近いイメージになるのだろうと思う。
UE4ではリビジョン管理にはPerforceが推奨されている。ブループリントはバイナリ格納(だったはず)なのでマージできない。チェックアウト時の事前ロック運用がデフォルト(昔のRCSみたいな感じ<古)。
Gitは基本ロックしない運用での大規模開発効率重視(一応Gitでもロック機能あった気も(?)するが普通は使ってない)。
Git設計時、ロック型の中央集約型システム(大昔のRCS的な)は(Linux開発者の)Linus氏がボツを出したとの話がある。おかげでプログラム開発に絶大な効率をもたらすGitができたらしい(つまりGitはLinux OS規模のプログラム開発を想定していた)。
ゲーム界隈では巨大なバイナリAssetの扱いがある為、Gitは長らく使用されてこなかった説。現在は一応LFSもあるがLFS用のファイル種別登録とかちょっとひと手間かかる。
Gitlab管理者的にはなんとなくLFSだけストレージを分けたくなったり(高速化したいので)色々モヤっと感はある。
どっちもどっちなんですが、ビジュアルスクリプティング関連がバイナリ保存される傾向にあるので、安全性から考えるとPerforceみたいなロック型が推奨されるのはその通りだと思う(超小規模な一定条件下ならPerforceも一応無料で使える)。
となると諸々でやはりリビジョン管理はSVN?(無料)という話に行きつくわけですが。
SVNは操作の度にいちいちサーバ問い合わせが発生しているのか遅い・・(Perforceは全部ローカルキャッシュしてるのでSVN比だと爆速)。
プログラマ的にはGit良いのですけどねぇ。
追記:
UnityでBoltのグラフスクリプトをMacroで保存した.assetはテキストになってるので、Gitでも扱いやすそうな気がします。
私的にはC#+Bolt開発でもGitで良いと思うんですけどね。