![見出し画像](https://assets.st-note.com/production/uploads/images/131270778/rectangle_large_type_2_7bb45d7fb78395180b2080b09822f3bd.png?width=800)
Unity Version Controlをちょっと触ってみる
テトラさんです。Unityでアクションゲーム作ってる人間のようななにかです。
毎週note更新してるので是非フォローとかお願いします。フォローとかお願いします。大事なことなので2回言いました。
今回はUnity VCSについての触り的なものになります。
だいたいみんなGitHubだったり、あまり日本語の記事なかったりするので、これからバージョン管理したい方や違いがわからない方向けに参考になればと。
先にお詫びですが、私のプロジェクトは個人開発ゆえ、ブランチ?マージ?あたりのことはちんぷんかんぷんなので触れないでおきます。しかしそこらへんはだいたいgitと同じだと思うので、git系技術記事を見てください。
Version Controlって何?
Version Controlの名の通り、「バージョン管理システム」です。
バージョン管理システムプロジェクトと変更差分をクラウドに保存し、ファイルといっしょに変更履歴や内容を保存できたりする便利なシステム。
バックアップを取っておいたり、それらを覚えておく手間やトラブルなんてものがなくなると思うのでみなさんバージョン管理しましょう。
そもそものバージョン管理の概要は以下の記事でわかりやすく解説されてるので参考に。
UnityVCSとは?
少し調べたり使ってみたりして思ったのは、Unity特化型のバージョン管理システムといった感じですかね。
公式サイト曰く「プログラマー、アーティスト、デザイナーがゲーム開発上の課題を克服できるように特別に設計されたバージョン管理システム」とのことなので、たぶんGitの「よくわからん」が緩和されてるのだと思います。
GitHubとどう違う?
私はゲームのプロジェクトをGitHubで管理していましたが、ある日突然GitHubにプッシュできなくなっていて困ったことに。
ちょっと調べてみるとこんなのが。
Githubは1ファイルあたりのサイズに制限があるっぽいです。だからLFSにしてgitignoreに登録したりするんですが、ちょっと設定めんどかったり、ここで吐いたエラー部分のコミット取り消しがなんもわからないことになったり、何より今後頻繁にこうなる気がしてゾッとしたので、ちょっとここらへんどうにかしたいなと。
UnityVCSはとくにファイルサイズに関しての記述がなかったので、とりあえず試してみようといった感じで触っていきます。
あとはプロジェクトの無料分ストレージが5GB、最大3人までってことは同じようで、課金方式が違うような感じでした。
さわってみる
![](https://assets.st-note.com/img/1708237142742-giWkbIw6O3.png?width=800)
とりあえず使ってみましょう。
適当なプロジェクトを立ち上げる際「Unity Version Control を使用する」にチェックを入れると、同時にリモートリポジトリを作成できます。
![](https://assets.st-note.com/img/1708237498364-K1js8MaJis.png?width=800)
すでにあるプロジェクトで使う場合はHUBのここから。
![](https://assets.st-note.com/img/1708238062747-pc1m1xwgFz.png?width=800)
![](https://assets.st-note.com/img/1708238097912-w41k6riEsW.png?width=800)
![](https://assets.st-note.com/img/1708237730805-UokmsLdJON.png?width=800)
立ち上がると最初からそれっぽい感じのウィンドウが設定されています。
ここに表示されているのがプロジェクトの変更点。
まず試しにシーンに適当なオブジェクトを配置し、シーンを保存したら以下のようになりました。
![](https://assets.st-note.com/img/1708237879520-QHFOlqK7c5.png?width=800)
変更されているファイルが緑のアイコンでハイライトされているので、全部にチェックボックスを入れて、「チェックイン」してみる。
![](https://assets.st-note.com/img/1708238180646-2mgrHaC49E.png?width=800)
![](https://assets.st-note.com/img/1708238735017-gPvim39jAo.png?width=800)
一瞬で変更がチェックインされました。
![](https://assets.st-note.com/img/1708238670662-Em0vvwXlXV.png?width=800)
HUBの鎖マークからリモートリポジトリに飛べるので飛んでみると
![](https://assets.st-note.com/img/1708238881183-DKIaREw43h.png?width=800)
反映されてる!
gitで言うところのコミットとプッシュが一気にされた感じなんですかね?これは楽かもしれない。
試しにスクリプト書いて、こんどは差分見てみましょう。
![](https://assets.st-note.com/img/1708239031371-7bf3Tc4DhW.png)
![](https://assets.st-note.com/img/1708239193689-dZoGRidgW5.png?width=800)
![](https://assets.st-note.com/img/1708239246317-MpI6OUen50.png?width=800)
![](https://assets.st-note.com/img/1708239370174-u662LaKfez.png?width=800)
![](https://assets.st-note.com/img/1708239420969-v7zCA6ebrM.png?width=800)
ここまでできたらリモートリポジトリを確認し、作ったスクリプトファイルを確認。
![](https://assets.st-note.com/img/1708239903450-xSrkNmArMx.png?width=800)
blameをオンにし、チェックイン時のコメントをダブルクリックすると
![](https://assets.st-note.com/img/1708239724022-7gERc5x7zX.png?width=800)
![](https://assets.st-note.com/img/1708239692880-lY3f2smzqc.png?width=800)
チェックインごとの差分が見れるようになりました。
今気づいたんですが、ちゃんとアプリがあるみたいです。入れましょう。
Diff changesetで上記のような変更がすぐ見られるのですが、ここからはアプリへのリンクへ飛ぶみたいです。
ウインドウが出てくるので、そのままダウンロードしました。
![](https://assets.st-note.com/img/1708240739506-ykGAj4Atpz.png?width=800)
![](https://assets.st-note.com/img/1708240477888-9XvCyYqKbl.png?width=800)
![](https://assets.st-note.com/img/1708240627451-OBjIOuGfm1.png?width=800)
![](https://assets.st-note.com/img/1708243009768-AkG5TPNwQY.png?width=800)
このアプリからは「×」マークで変更部を削除したりできるので、ちょっと便利。
このファイルをこのチェックインに戻す、みたいな処理も書きたいところですが…正直これ以上のバージョン管理のあれこれはわからないので、こんなことができるよ、くらいで堪忍な。教えてくれ…
まとめ
ここまででなんとなくバージョン管理ってものに手をつけられるようになるかなと思います。ちょっとこれ以上は知識がないので、私もこれから勉強しなければ…といった感じです。
![](https://assets.st-note.com/img/1708241994346-LD1DOGCybL.png?width=800)
バージョンごとに保存しておけること、差分を見返せることだけで言うなら、ステップが少ないこと、何よりチェックインがHUBやエディタで完結することがメリットなのかなと思います。
しばらく使ってみたり、バージョン管理力を上げてまた記事にしようかなと思います。
ではまた来週。
この記事が気に入ったらサポートをしてみませんか?