ShotoTheClay
## 🎮 End-to-End Unity Testing Tool を作る – AI が勝手に歩き回ってバグ報告してくれる世界 Unity で作った 3D マップを、人間のかわりに **AI ボットが歩き回ってテストしてくれる仕組み**をゼロから組んでみました。 プレイヤーが草原フィールドと廃屋を探索し、**宝箱(チェスト)を見つけられるか**を自動で検証する「E2E テストツール」です。 この動画では、 * Unity のキャラクタ
Core trick
A Node.js server sends YAML-scripted commands to a Unity character controller, with Gemini choosing each next action and writing the bug report.
Description
## 🎮 End-to-End Unity Testing Tool を作る – AI が勝手に歩き回ってバグ報告してくれる世界
Unity で作った 3D マップを、人間のかわりに **AI ボットが歩き回ってテストしてくれる仕組み**をゼロから組んでみました。
プレイヤーが草原フィールドと廃屋を探索し、**宝箱(チェスト)を見つけられるか**を自動で検証する「E2E テストツール」です。
この動画では、
* Unity のキャラクターを **スクリプト経由で外部から操作**して
* YAML で書いたテストシナリオを元に
* Node.js サーバ & Gemini(LLM)にコマンドを決めさせて
* 最後に **Markdown のバグレポート**を自動生成
…というところまで一気通貫でつなぎます。
## ✅ この動画でやっていること
* Unity 2022(URP)で簡単な **草原 + 2 階建ての廃屋マップ**を構築
* プレイヤー用キャラクターコントローラと **`PlayerE2EDriver`** の実装
* Node.js 製の **`qa-bot` サーバ** から Unity にコマンドを送る
* YAML で書くテストシナリオ(例: `find_one_chest.yaml`)
* 「宝箱を 1 個以上見つける」E2E テストを AI が実行
* テスト結果を Markdown 形式の **QA レポート**として保存
## 💡 今後やりたい拡張
* 複数のテストシナリオ(落下バグ検知・ドアの開閉・謎解きのクリアチェックなど)
* シーンごとに自動で NavMesh Bake → 探索範囲を広げる
* CI に組み込んで、プルリクごとに Unity シーンの E2E テストを自動実行
* テスト結果を GitHub Actions のアーティファクトや Issue に自動投稿
morshoto/gemini-3-tokyo-hackathon★ 21 forksC#Apache-2.0Created Feb 21, 2026 · last push Feb 21, 2026
README excerpt
# gemini-3-tokyo-hackathon <img width="1536" height="1024" alt="thumbnail" src="https://github.com/user-attachments/assets/9268d9dc-cce6-4038-814f-b281cc07edcd" /> ## 🎮 Building an End-to-End Unity Testing Tool A World Where AI Bots Roam Freely and Report Bugs We built a system from scratch where **AI bots roam around and test 3D maps created with Unity** instead of humans. This is an "E2E testing tool" that automatically verifies whether a player can explore a grassland field and an abandoned house and **find a treasure chest**. In this video, we will connect the entire process, from * **Controlling Unity characters externally via scripts** to * Using test scenarios written in YAML to * Having a Node.js server & Gemini (LLM) decide on commands and * Finally, automatically generating a **Markdown bug report**.