Unityチーム開発の基本手順:1週間で完成させる「探す」プロジェクト

残り2か月を切った段階で、総まとめとなるチーム開発課題を実施します。今回のテーマは「探す」。各チームが独自のアイデアを形にし、1週間で企画から発表までをやり切る短期開発を体験します。本記事では、そのための開発手順とGitHub連携の基本フローを紹介します。Unity初心者でもチーム開発をスムーズに進められるよう、GitHub Desktopを中心に構成しました。


1. チーム開発の目的

この課題では、以下の3点をゴールとしています。

  1. Unityで学んだ要素を総合的に使えるようにする
  2. チームでの開発フロー(GitHub運用)を体験する
  3. 企画・設計・実装・発表の流れを一気に経験する

短期間でも、チームで「決めて、作って、見せる」流れを実践することで、現場で必要とされる協調性やタスク管理力を養う狙いがあります。


2. 開発テーマ:「探す」

共通テーマは「探す」。

内容は各チームが自由に考えます。

  • 宝探しアクション
  • 落とし物を探すアドベンチャー
  • 手がかりを集める推理ゲーム
  • 光や音を頼りに探す探索ゲーム

など、ジャンルや方向性は問いません。

「探す」という体験をどのように表現するかが、企画のポイントになります。


3. チーム構成と役割

1チーム3〜4名で構成し、以下のような分担を基本とします。

役割主な担当使用スキル
プログラマープレイヤー操作、探索ロジックC#, Collider, Event制御
デザイナー / UI担当背景、UI、エフェクトCanvas, Animator, Image
ディレクターコンセプト、進行管理、発表準備企画・構成
サウンド担当効果音・BGMの選定と実装AudioSource, Mixer

4. 開発スケジュール(1週間)

目標成果物
1日目チーム結成・企画書作成・Git初期化README.mdに企画書完成
2日目プロトタイプ作成(操作・探索の基礎)プレイヤー操作と探索判定
3日目UI・探索対象の追加 画面構成確定
4日目ステージ・演出・サウンド統合初期プレイテスト
5日目 中間発表・改善改良版動作確認
6日目デバッグ・最終調整完成版
7日目発表会プレゼン+作品公開

5. GitHubを使ったチーム開発手順

短期間でも安全に協働できるよう、GitHub Desktopを使用します。コマンド操作不要で、視覚的に管理できるのが特徴です。

(1)リーダーの作業

  1. Unityで新規プロジェクトを作成
    • プロジェクト名:例)SearchTeamA
    • テンプレート:3D(URP)
  2. GitHub Desktopにプロジェクトをドラッグ&ドロップ
    • 自動でリポジトリが初期化されます。
  3. GitHubにPush(公開)
    • 「Publish repository」をクリック。
  4. Collaborators(共同編集者)を追加
    • GitHub → Settings → Collaborators
    • チームメンバー全員を追加。
  5. README.mdを作成
    • 下記テンプレートを貼り付けて、企画書を記入。

(2)メンバーの作業

  1. GitHub Desktopで「Clone Repository」
    • リーダーのリポジトリを選択してクローン。
    • または、GitHubで、クローン
  2. Unityで開く
    • Assets/Scenes を確認して開発開始。
  3. 作業が終わったらコミット&プッシュ
    • 例:Add player movement script
  4. 作業前に必ずPull(最新版を取得)
    • 「Fetch origin → Pull」をクリック。

(3)運用ルール

  • 1日1回は必ずコミット&プッシュ
  • 同じシーンを同時に編集しない
  • 作業ブランチを分けるときは名前を明示(例:feature/ui)
  • README.mdを進捗記録として毎日更新

■ Gitでコミットは、なぜ「1日1回更新」はリスクになるのか

リスク説明
① 作業差分が大きくなりすぎる丸1日分を1コミットにすると、変更量が膨大になり、誰が何を変えたか追えない。
② コンフリクト発生時の原因追跡が困難1日分の修正が重なった状態で他メンバーとマージすると、解決が複雑化。
③ リーダーが異常を検知しづらい途中で破損やミスがあっても、翌日まで気づけない。
④ プッシュ忘れ=1日分の消失PCトラブルやクラッシュ時に、作業のバックアップが失われる。

■ おすすめの更新頻度

操作タイミング理由
コミット(Commit)作業単位が終わるごと(1〜2時間に1回)小さく履歴を残すことで、いつでも安全に戻せる。
プッシュ(Push)1〜2コミットごと、または作業終了時他メンバーがすぐに最新版を取得できる。
プル(Pull)作業開始前・昼休憩後・作業再開時他メンバーの変更を反映してから着手する。

■ 具体的な運用ルール案(職業訓練校向け)

1. 毎朝・作業前

  • 「Pull」してから作業開始
    • GitHub Desktop → Fetch origin → Pull
    • 最新の状態を確認してからUnityを起動。

2. 作業中(1〜2時間に1回)

  • 小さな単位でコミット
    • 例)Add player movement, Fix camera follow, Update UI layout
  • Unityを閉じる前に「Commit and Push」まで完了。

3. 昼休み・終業前

  • Pushして全員の変更を同期
    • これにより、夜間・翌日の作業が安全に始められる。

4. シーンファイルの扱い

  • シーンを複数人で編集しない。
  • どうしても同じシーンを触る場合はサブシーン分割ブランチ分けを徹底。
    • 例)feature/ui-scene、feature/main-scene

■ 教育的メリット

学習効果内容
現場で通用するGit運用を体験できる「小さいコミット」「頻繁なプッシュ」が自然に身につく。
チーム全体で安全な進行が可能コンフリクトが減り、デバッグに集中できる。
履歴から問題を追えるトラブル発生時の原因分析が容易になる。

■ まとめ

  • 「1日1回更新」は最低限の安全策にすぎません。
  • 実際の開発では、「1〜2時間に1回コミット、1日2〜3回プッシュ」が標準です。
  • この粒度で履歴を残すことで、トラブル対応力と実務感覚が大きく向上します。


6. チームREADMEテンプレート

各チームはリポジトリのルートに README.md を作成し、以下のテンプレートをベースに企画・進捗を記入します。


Unity チーム開発:チーム企画書テンプレート(完全版)

以下のテンプレートは、1週間で進めるUnityチーム開発(テーマ:「探す」)用です。各チームは、この内容を README.md に貼り付けて使用します。

※毎日更新し、進捗・担当・成果を明確に記録します。


# Unity チーム開発課題「探す」

**7日間開発プロジェクト — チーム用 README テンプレート**  
指導講師:小西秀明(職業訓練校 Unity講座)

---

## 目次
- [チーム情報](#team-info)
- [メンバーと役割](#members-and-roles)
- [プロジェクト概要](#project-overview)
- [使用予定のUnity機能](#unity-features)
- [進行スケジュール(目安)](#schedule)
- [進捗メモ](#progress-notes)
- [開発ルール](#development-rules)
- [発表内容(予定)](#presentation-plan)

---

## チーム情報 <a id="team-info"></a>

| 項目 | 内容 |
|------|------|
| **チーム名** | 例:Team C - 光を探せ! |
| **チームリーダー** | 例:野上 |
| **メンバー** | 例:野上・小上・佐々上・稲上 |
| **リポジトリ名** | 例:`team-c-search` |
| **作成日** | YYYY/MM/DD |

---

## メンバーと役割 <a id="members-and-roles"></a>

| 役割 | 担当 | 主な内容 |
|------|------|----------|
| リーダー・プログラマー | 〇〇 | 探索ロジック実装、Git運用、進行管理 |
| ディレクター / UI・演出 | 〇〇 | 企画構成、UI設計、演出調整 |
| デザイナー | 〇〇 | ステージ構成、背景デザイン、照明設定 |
| QA / サポート | 〇〇 | 動作テスト、README更新、プレハブ管理 |

> ※メンバーが3人の場合は、兼任を明記してください。  
> (例:プログラマー兼UI担当 など)

---

## プロジェクト概要 <a id="project-overview"></a>

| 項目 | 内容 |
|------|------|
| **ゲームタイトル** | 例:光の手がかり |
| **一言で説明すると** | 例:音と光を頼りにアイテムを探す3D探索ゲーム |
| **ゲームの目的** | 例:時間内に隠された宝石を見つけ出す。 |
| **プレイヤー操作** | 例:WASDで移動、スペースで調べる |
| **勝利条件** | 例:制限時間内に全アイテム発見 |
| **失敗条件** | 例:時間切れ・誤探索でポイント減少 |
| **特徴・工夫点** | 例:光・音・ヒント表示を組み合わせた誘導演出 |

---

## 使用予定のUnity機能 <a id="unity-features"></a>

☑ = 使用予定(下記チェックボックスに `[x]` を入れる)  

> 使用予定の機能は `[ ]` を `[x]` に変更してください。  
> 例:  
> `- [x] PlayerController(移動・入力)` → 使用する機能  
> `- [ ] NavMesh / AI` → 今回は使用しない機能

- [ ] PlayerController(移動・入力)  
- [ ] Trigger / Collider  
- [ ] UI(Canvas, Button, TextMeshPro)  
- [ ] ScriptableObject / JSONデータ  
- [ ] アニメーション / DOTween  
- [ ] サウンド(BGM・SE)  
- [ ] NavMesh / AI  
- [ ] Timeline / Cinemachine  
- [ ] その他(                    )

---

## 進行スケジュール(目安) <a id="schedule"></a>

| 日 | 内容 | 主な成果物 |
|----|------|------------|
| 1日目 | チーム結成・企画書作成・Git初期化 | README.md完成 |
| 2日目 | プロトタイプ実装開始 | プレイヤー移動・探索判定 |
| 3日目 | UI・探索対象の追加 | 画面構成確定 |
| 4日目 | ステージ・演出・サウンド統合 | 初期プレイテスト |
| 5日目 | 中間発表・改善 | 改良版動作確認 |
| 6日目 | デバッグ・最終調整 | 完成版 |
| 7日目 | 発表会 | プレゼン+作品公開 |

---

## 進捗メモ <a id="progress-notes"></a>

| 日付 | 作業内容 | 担当 | 備考 |
|------|-----------|------|------|
| 10/○ | プロトタイプ作成開始 | 野上 | プレイヤー操作OK |
| 10/○ | 探索ロジック追加 | 小上 | 当たり判定テスト中 |
| 10/○ | UI仮組み | 佐々上 | Canvas設計 |
| ... | ... | ... | ... |

> ※ 毎日、各メンバーが更新してください。  
> GitHubのコミット履歴に残る形で進捗を記録します。

---

## 開発ルール <a id="development-rules"></a>

- **Git運用**  
  - 1〜2時間ごとにCommit  
  - 1日2〜3回Push  
  - 作業前に必ず「Pull」して最新を取得  
  - コンフリクトが起きた場合はリーダーが調整  

- **Unityプロジェクト設定**  
  - Unity 6(URP)を使用  
  - 各自、同バージョンを統一  
  - 不要アセットは追加しない(軽量管理)  

- **フォルダ構成推奨**
```
Assets/
├─ Scripts/
├─ Prefabs/
├─ Scenes/
├─ UI/
└─ Audio/
```
---

## 発表内容(予定) <a id="presentation-plan"></a>

| 項目 | 内容 |
|------|------|
| **タイトル** | (例)光の手がかり |
| **ゲーム紹介** | (例)音・光・時間を頼りに宝を探す探索アクション |
| **アピールポイント** | (例)演出と探索を融合した独自のUI設計 |
| **担当箇所で頑張った点** | (例)DOTweenを活用した演出とUIの統一感 |
| **発表担当** | (例)リーダーが操作、全員でコメント補足 |

---

> **目的**  
> このREADMEは「開発ドキュメント」としてチーム全員が更新することを目的としています。  
> 完成よりも「考え方・工夫・チーム連携の過程」を重視してください。

---

© 2025 職業訓練校 Unity講座(講師:小西秀明)

使用方法のポイント

  • GitHubリポジトリのルートに README.md を作成し、上記内容をコピーして保存。
  • 1日ごとに更新して、進捗・発見・変更点を明記。
  • 発表時にはこのREADMEがプレゼン資料にもなります。
  • .gitignore はUnity公式テンプレートを使用してください。

7. 成果発表と振り返り

最終日には、各チームが実機デモまたは動画で発表を行います。

内容は以下の4点を軸にまとめます。

  1. 作品タイトルとコンセプト
  2. 「探す」テーマの工夫
  3. 各自の担当と苦労した点
  4. 今後の改善・発展アイデア

発表後は個人で「理解が深まった技術」「次に活かしたいこと」を整理し、自己評価として提出します。


8. 教育的意図とねらい

このテンプレートは、「チーム全員が同じフォーマットで進捗を共有できる」ことを目的としています。

特に、職業訓練校や短期集中講座では、以下のような効果があります。

目的効果
ドキュメント化の習慣付け自分の作業を文章で説明する力が身につく。
GitHub管理の練習現場で使うバージョン管理フローを体験できる。
チーム全体の見える化講師・メンバーが進捗を確認しやすくなる。
発表資料への転用そのままプレゼンやポートフォリオに利用できる。

といった実務スキルを、短期間で体感できる構成になっています。


9. まとめ

1週間という短い期間でも、目的が明確であれば作品は完成します。「探す」というテーマは、技術力よりも発想と構成力が問われる内容です。完成度よりも、チームとしてどこまで形にできたか・学びを得たかを重視しましょう。


関連資料

【補足】

この記事の内容は、実際の講義で使用したGitHubチーム運用ガイド+READMEテンプレートを基に構成しています。

学生・初学者でも再現可能な手順としてご活用ください。


訪問数 31 回, 今日の訪問数 31回