Unreal Engine 4のソースコントロール先としてSubversionを指定してみた

2021.01.31

どうも、最近Unreal Engine 4で遊んでいるコンサルティング部の後藤です。

記事通り、今回はEC2にSubversionを構築し、ローカル端末のUnreal Engine 4でソースコントロール先に指定をやってみました。

環境説明

・Unreal Engine 4 (Version : 4.26.0)
ローカル端末のWindows10に導入

・Subversion (Version:1.7.14)
EC2 Amazon Linux2に導入

Subversion構築

今回はUnreal Engine 4からSubversionにはHTTP接続を行うため、subversionmod_dav_svnを一緒に導入します。

yum install subversion mod_dav_svn

Subversion導入後、Subversionの設定とリポジトリを作成を行います。

### Subversionの設定
$ cat /etc/httpd/conf.d/subversion.conf 
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/html/svn
SVNListParentPath on
AuthType Basic
AuthName "SVN Auth"
AuthUserFile /etc/svn-auth-users
Require valid-user
</Location>

### リポジトリ作成
$ mkdir -p /var/www/html/svn
$ cd /var/www/html/svn
$ svnadmin create sample-game-repo
$ chown -R apache: sample-game-repo/

Subversionへの接続には認証を求めるよう、Basic認証の設定を行います。今回はユーザ名admin、パスワードをpassw0rdと設定しています。

$ htpasswd -cb /etc/svn-auth-users admin passw0rd
※パスワードはいい感じに設定してね!

上記設定が完了したらhttpdを再起動して、ブラウザでSubversionのリポジトリを確認してBasic認証とリポジトリが見れることを確認します。

プロジェクトをSubversionにコミット

Subversionの構築後、次はUnreal Engine 4のプロジェクトをSubversionで管理出来るように設定します。

Subversionのリポジトリをローカル端末にチェックアウトするため、ローカル端末ではTortoiseSVNを使用しています。

まず、対象となるUnreal Engine 4のプロジェクトにSubversionのリポジトリをチェックアウトします。

チェックアウトが成功すると、対象のプロジェクトフォルダ内には .svn という隠しフォルダが作成されます。

チェックアウト後、Subversionで管理する必要があるファイルを全てコミットします。今回は検証のため、プロジェクト内にある全てのファイルを選択しています。

Subversionをブラウザで確認すると、コミットされたファイルを確認する事が出来ると思います。

Unreal Engine 4のソースコントロール設定

次に、Unreal Engine 4のEditorからSubversionにコミットを行えるよう、ソースコントロール先に設定します。

まず、Editorの画面上にあるソースコントールを選択します。

ソースコントロール先としてSubversionを選択すると、Subversionのログイン情報を入力する項目が表示されます。

ログインに成功すると、ソースコントロールのマークが赤から緑に変わります。

これで、Unreal Engine 4のEditorからSubversionにコミット出来るようになりました。今回は試しに既存のキャラクターメッシュを複製したデータをSubversionにアップロードしてみます。

ブラウザで確認すると、先程複製したデータがコミットされていることが確認出来ました。

まとめ

Subversionを構築し、Unreal Engine 4のソースコントロール先に指定してみました。ゲーム開発ではアセット等の容量の大きいデータを扱うためVCSとしてメジャーなGithubよりは、PerforceやSubversionを使用することが多いと聴きました。まだまだUnreal Engine 4は触り始めのためまだ分からない事が多いですが、遊んでいきたいと思います。

本記事が何方のお役に立てば幸いです。