Unity6におけるシーンファイルとGit管理ガイド

2025年4月16日

本資料は、Unity6で新規プロジェクトを作成する場合のシーンファイルの保存情報、変更条件、及びGitを利用したバージョン管理のポイントについてまとめています。なお、Unity6の新規プロジェクトでは、Force Textシリアライゼーションがデフォルト設定になっているため、ファイルはテキスト形式(YAML形式)で保存され、差分管理やマージがしやすくなっています。


1. シーンファイルに保存される情報

Unityのシーンファイルは、現在のシーンの状態を詳細に記録する重要なファイルです。以下の情報が格納されます。

1.1 ゲームオブジェクトと階層構造

  • シーン内のすべてのゲームオブジェクトが保存される。
  • 各オブジェクトの位置、回転、スケールなどのトランスフォーム情報。
  • オブジェクト間の親子関係(階層構造)が記録される。

1.2 コンポーネントの設定情報

  • 各ゲームオブジェクトに付随するコンポーネント(スクリプト、カメラ、ライト、物理関連など)の設定情報が保存される。

1.3 アセットの参照情報

  • シーンで利用されるテクスチャ、メッシュ、アニメーション、サウンドなどのアセットへのリンク情報が記録される。
  • アセット自体はプロジェクト内の別ファイルとして管理される。

1.4 レンダリング・ライティング設定

  • シーン全体のグローバル照明、カメラ設定やその他レンダリングに関する設定情報。

1.5 環境設定

  • スカイボックス、環境光、反射プローブなど、シーン全体の環境表現に関する設定が含まれる。

1.6 物理設定

  • 物理シミュレーションで用いられる設定(例:重力、衝突マトリクスなど)が記録される。

備考:
Unity6では、新規プロジェクト作成時のデフォルト設定でForce Textシリアライゼーションが有効になっているため、シーンファイルやプレハブはYAML形式のテキストファイルとして保存され、変更内容の追跡が容易です。


2. シーンファイルが更新される条件

Unityエディタ内で以下のような変更が行われた場合、シーンファイルの内容が更新されます。

2.1 コンポーネントやプロパティの変更

  • ゲームオブジェクトに付与された各コンポーネントの設定やプロパティが変更されたとき。

2.2 ゲームオブジェクトの追加・削除

  • 新たなゲームオブジェクトがシーンに追加された場合。
  • 既存のゲームオブジェクトがシーンから削除された場合。

2.3 アセットのリンク変更

  • シーン上で参照しているアセット(テクスチャ、メッシュ、アニメーションなど)の更新や差し替えが行われた場合。

2.4 レンダリング、環境、物理設定の変更

  • シーン全体のライティング、環境設定、及び物理設定が変更された場合。

注意:
変更を確実に反映させるためには、変更後に「シーンの保存」を行うことが重要です。


3. Gitによるプロジェクト管理のポイント

UnityプロジェクトをGitなどのバージョン管理システムで管理する際は、以下のポイントに留意してください。

3.1 シーンファイルの管理

  • Force Textシリアライゼーション
    Unity6の新規プロジェクトではデフォルトでForce Textシリアライゼーションが有効になっており、シーンファイルはテキスト形式(YAML)で保存されます。
    これにより、変更箇所の差分確認やマージがしやすくなっています。
  • マージコンフリクトへの対策
    複数人で同じシーンを同時編集する場合、マージコンフリクトが発生する可能性があるため、作業の分担やシーンの分割を検討する必要があります。

3.2 プロジェクト設定ファイルの管理

  • ProjectSettingsディレクトリ
    ビルド設定、タグ、レイヤー、インプットマネージャ等の設定ファイルは、プロジェクト全体に影響を与えるため、変更内容が明確にわかるようコミットメッセージや分割管理を行いましょう。

3.3 アセット管理

  • 大容量アセットの管理
    テクスチャ、モデル、アニメーションなどの大容量アセットは、リポジトリサイズが急激に増加するため、Git LFS(Large File Storage)の利用を推奨します。

3.4 スクリプトとプレハブの管理

  • テキストベースの管理
    スクリプト(.csファイルなど)はテキスト形式で管理されるため、差分の確認が容易です。
  • プレハブの管理
    再利用可能な設定を保持するプレハブも、頻繁な更新が起こりうるため、慎重な管理が必要です。

3.5 コミットのルールとチーム内ガイドライン

  • 明確なコミットメッセージ
    変更箇所を明確にするため、コミットメッセージには具体的な変更内容を記載しましょう。
  • ブランチ運用
    複数の開発者が作業する場合、適切なブランチ運用によりコンフリクトリスクを減らし、統合作業を円滑に進めることが求められます。

まとめ

Unity6の新規プロジェクトでは、Force Textシリアライゼーションがデフォルト設定となっており、シーンファイルはYAML形式のテキストとして保存されます。これにより、バージョン管理システム(Git等)での差分の確認やマージが容易になり、複数人での開発環境においても効果的な管理が可能となります。シーンファイルの更新条件と、Gitでのプロジェクト管理のポイントを理解し、適切な運用を心がけることで、スムーズな開発フローを実現しましょう。

Unity

Posted by hidepon