[Unity3D][github]Unity3D + github の環境設定

Unityのプロジェクトをgithubで管理する際の必要な情報とお勧めについて。

github側

まずはリポジトリを作成する。
その際にgithubの Add .gitignore: ボタンから、プロジェクトなのかを選択することができるのでUnityを選ぶ。

gitignore

gitのバージョン管理の対象にしたくないもの、除外したいものをディレクトリ単位または、ファイル単位、もしくはファイルの名前の一部を含むもので指定できる。

先のgithubの設定で出来上がった .gitignore ファイルは以下のようになっている。

Ad

[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/

# Autogenerated VS/MD solution and project files
/*.csproj
/*.unityproj
/*.sln
/*.suo
/*.user
/*.userprefs
/*.pidb
/*.booproj

#Unity3D Generated File On Crash Reports
sysinfo.txt

これだとルートからUnityのプロジェクトを作成しているのでいくらか改変が必要になる。

内容がどういう意味なのかは次のリンクで確認できる。
gitで管理しないファイルを無視させる .gitignore

githubで管理しやすいディレクトリ構成

いかが自分がよくつかう構成

  • client
    • Unityのプロジェクトがまるっと入る。前述のgitignoreは全部の構成の前に client をつける必要がある。
  • build
    • UnityからBuildした際の出力先。この下にiOSやAndroidなどのプラットフォームがならび、その下にXcodeプロジェクトなどが入るが、gitの管理対象外にしている。重いので。
  • server
    • クライアントサーバ型のアプリの場合はサーバの構成をこの下に記述する。
  • assetbundle
    • アセットバンドル構築用のUnityProjectを入れておく。AssetBundle対象はこの下のプロジェクト下のResourcesフォルダから、res下にあるフォルダのエイリアスを持っておく。
  • res
    • リソースフォルダ。画像ファイルなどをつめこむ。AssetBundle化対象リソースもこの下にディレクトリを作成し、その中に入れておく。
  • tools
    • ツール類を入れる場所。
  • setup
    • サーバセットアップや環境セットアップなどのスクリプトなどを入れておく。

他にもプロジェクトの内容によって適せん改変させる。

Unity側

基本的にはSVN + UNITY でやっておくことと同様に、metadataをtext形式で可視化させる設定だけ。

気をつけること

SVN + UNITY でやっておくことでも書いてある通りに、UnityはAssetDatabaseで管理しているので、通常のOSのファイルシステムと保存されるタイミングが異なる。Sceneを保存してもPrefabは保存されない。

Save Projeect をすればUnityを落とさなくても大丈夫。

そして可能な限りPull Requestでバージョンを管理する。
pullとpushだけでやると事故った時に対応が大変。

Web制作者のためのGitHubの教科書 チームの効率を最大化する共同開発ツール

コメントを残す

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