Skip to content

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.

Tags

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**.

Team