【UE5】ソースコントロール(SVN)を連携する
※こちらはアンリアルクエスト5の個人的な備忘録になります。ご参考にされる際は自己責任でお願い致します。
概要
このNOTEでは個人制作でローカルフォルダにSVNを導入する方法、
SVNをUE5に連携する方法、UE5が対応していないSVNバージョンで連携させる方法をまとめています。
GitやPerforceも使用することができるようですが、こちらではSVNの解説となります。
開発環境
Windows10
UnrealEngine バージョン5.2.0
Tortoise SVN バージョン1.14.5
ローカルフォルダにSVNを設定する
今回はアンリアルクエスト5 応募用の個人制作ですが、プロジェクトデータのバックアップやログ管理ができた方が便利なのでSVNの導入を行いました。
ローカル環境にSVNを使用するために以下のブログを参考にしています。
以前のアンリアルクエストでSSDの方がコンパイルの時間が格段に速くなった経験があるので、基本的に作業データはSSDに置くようにしています。
リポジトリフォルダは別のHDD等に設定して、万が一壊れても復旧できるようにすると安心です。
SVNに追加するフォルダ
プロジェクトデータには一時ファイルなどが含まれるので、全てのデータが必要な訳ではありません。
BPプロジェクトの場合は下記のデータのみをコミットすれば問題ないようです。
・Config
・Content
・.uproject
参考サイト
ソースコントロールでUE5とSVNを連携する
UE5からSVNに接続していきます。
ウィンドウ右下の リビジョンコントロール >リビジョンに接続
上図のようなポップアップウィンドウが出ます。
プロバイダ:Subversion
リポジトリ:SVNリポジトリフォルダのパスを設定
ユーザー名:一人しかいませんが一応設定してます
→設定を承認
こちらで問題なければ以上になります。
エラー対処方法
”SourceControl: Error: svn: E160043: Expected FS format between '1' and '7'; found format '8'”
自分の環境ではエラーが出てしまいました。。
このエラーメッセージによると、
”予想されるリポジトリのフォーマットが '1' から '7' の間であるべきだが、実際にはフォーマット '8' が見つかった”
とのことです。
調べてみたところ、SVNのバージョンが新しいもの(V.1.14.5)だとリポジトリのFSフォーマットがUE5規定のものより新しいためこのエラーが出るようでした。
上記のエラーを解消するにはリポジトリのFSフォーマットを1~7の間にして設定する必要があります。
FS フォーマットを 1~7 の間に指定してリポジトリフォルダを作成する
やり方は2通りあるようです。
①UEに対応したSVNのバージョンをインストールする
現在のSVNをアンインストールしてUEが対応しているSVNのバージョンをインストールしなおします。
この記事では個人的にSVNのバージョンを下げたくないのでこちらは試していません。
(UEの対応しているSVNバージョンは公表されているようです)
②Apache Subversionをサーバーモードで起動し、FSフォーマットを指定してリポジトリフォルダを作成する
SVNのバージョンを変えなくても、FSフォーマットを指定してリポジトリの作成ができる方法がありました。(①より簡単です)
前提として、Tortoise SVNメニューからのリポジトリの作成ではFSフォーマットを指定することができません。
そのため、Apache Subversionのサーバーモードから作成することでFSフォーマットを指定してリポジトリフォルダを作成します。次項で詳しくやり方を解説します。
[TIPs]Apache Subversionとは?
Apache Subversionは、ソースコードやファイルの変更履歴を管理するためのシステムです。
TortoiseSVNはApache Subversionをエクスプローラー上で直感的にSVNリポジトリ操作をすることができるようにするソフトウェアです。(自分はTortoiseSVNの方が馴染み深かったのでこの関係を知らずに使っていました…。)
つまり、TortoiseSVNをインストールすると自動的にApache Subversionも同時にインストールされるため、別途Apache Subversionをインストールする必要はありません。
Apache SubversionでFSを指定してリポジトリフォルダを作成する
あらかじめリポジトリを設定したい場所に空のフォルダを作成しておきます。
コマンドプロンプトを起動し、下記のコードを実行します。
コマンドを実行すると、D:\SVN\UnrealQuest5 フォルダにリポジトリが作成され、FSフォーマットがバージョン7で設定されます。
パス部分は例なので自分の環境のものに書き換えてください。
svnadmin create --compatible-version 1.7 D:\SVN\UnrealQuest5
--compatible-version オプションはリポジトリのFSフォーマットを指定するコマンドです。
この方法で作成したリポジトリフォルダは、TortoiseSVNで作成したものと違いフォルダのアイコンが変化しませんが、中にデータが作成されていれば問題ありません。
UE5で確認
リポジトリフォルダが作成できたので、いつも通りTortoiseSVNから任意のフォルダでチェックアウトを行います。
UE5のプロジェクトデータ一式もチェックアウトしたフォルダに入っているようにします。
以上で再びUE5を開き、ソースコントロールを設定してみます。
エラーが消え、正常にソースコントロールを作成することができました。
(今更気がついたのですが、”リビジョンコントロール”に名前が変わっていますね…。)
試しに新しいマテリアルを作成してみましたが、コンテンツブラウザ内のサムネイルに”+”アイコンが表示され、右クリックメニューからチェックインなどの動作ができるようになっています。
これでデータが飛んでも安心です!
以上、UE5でSVNを連携させる方法でした。
しかし、今回は個人制作の上にローカルフォルダでの検証しか行っておりません。
趣味の範囲での検証となりますので、誤りがある可能性もございます。
くれぐれもご了承頂けましたら幸いです。
もしもなにかお気づきの点がありましたら、ご指摘頂けましたら幸いです。
参考サイト