Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
49f53cd
docs(website): scaffold Docusaurus site (M1)
Scriptwonder May 24, 2026
3199d92
docs(website): migrate /docs/* into /website/docs/ per locked IA (M2)
Scriptwonder May 24, 2026
44fb09b
docs(website): auto-generated tool & resource reference (M3)
Scriptwonder May 24, 2026
c7430ae
docs: add CONTRIBUTING / CoC / SECURITY / ISSUE_TEMPLATE (M5a)
Scriptwonder May 24, 2026
99f45f1
Merge branch 'beta' of https://github.com/CoplayDev/unity-mcp into do…
Scriptwonder May 24, 2026
097278c
fix(docs): MDX build errors + landing page at site root
Scriptwonder May 24, 2026
57aa78f
chore(docs): commit package-lock.json for reproducible CI installs
Scriptwonder May 24, 2026
e6d7355
docs(website): adopt Satoshi + JetBrains Mono, strip emojis
Scriptwonder May 24, 2026
6c305d4
docs(website): net-new guides + architecture + contributing pages (M4)
Scriptwonder May 24, 2026
4af0262
docs: slim README from 289 → 118 lines + add /releases + /guides/rosl…
Scriptwonder May 24, 2026
d131735
docs(website): M6 polish — fetch-depth, robots.txt, first-deploy doc
Scriptwonder May 24, 2026
7bbc83b
docs(website): pull real wiki content into guides + architecture
Scriptwonder May 24, 2026
13c844b
docs(website): modern minimalist layout polish
Scriptwonder May 24, 2026
f03b3e5
fix(docs): bump navbar GitHub/Discord icons (20→26px in 40px hit area)
Scriptwonder May 24, 2026
ef71ed4
docs(website): hero gif on landing + fill CLI/manifest reference pages
Scriptwonder May 24, 2026
6994807
fix(docs): bump navbar icons to 32px (in 44px hit area)
Scriptwonder May 24, 2026
88a713b
docs(release-sync): pull real release notes + automate going forward
Scriptwonder May 24, 2026
cefcd96
docs(homepage): dynamic client count + refresh AI-assistant lineup
Scriptwonder May 24, 2026
cb38d6e
docs(website): terminal-blueprint landing redesign
Scriptwonder May 24, 2026
b34ebf5
docs(reference): tool examples + nested Tools sidebar + generator fixes
Scriptwonder May 24, 2026
1aa4cb1
docs(readme): uncollapse the research citation block
Scriptwonder May 24, 2026
9e6ce1d
docs(readme): shorten Docs badge, drop nav-line, expand citation, mov…
Scriptwonder May 24, 2026
156cefd
Merge remote-tracking branch 'upstream/beta' into docs/v2-wiki-refresh
Scriptwonder May 24, 2026
1102512
docs: simplify citation + host preview on Scriptwonder fork
Scriptwonder May 24, 2026
033c873
docs: flip docs site back to CoplayDev hosting
Scriptwonder May 24, 2026
45962b2
fix: address PR #1157 review feedback (docs/security/UX)
Scriptwonder May 24, 2026
bc9499b
fix(docs-gen): smarter sentence split for frontmatter descriptions
Scriptwonder May 24, 2026
7c553f1
fix(ci): narrow Docs — Sync Release Notes to release events only
Scriptwonder May 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 122 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: Bug report
description: Something isn't working as expected
title: "[Bug]: "
labels: ["bug", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to file a bug. The more specific you can be, the faster we can help.

**Before filing:**
- Search [existing issues](https://github.com/CoplayDev/unity-mcp/issues?q=is%3Aissue) to avoid duplicates
- Check the [troubleshooting docs](https://coplaydev.github.io/unity-mcp/guides/troubleshooting) and [setup wiki](https://github.com/CoplayDev/unity-mcp/wiki)

- type: textarea
id: what-happened
attributes:
label: What happened?
description: Clear, concrete description. What did you expect? What did you get?
placeholder: When I run X, I expect Y, but I see Z.
validations:
required: true

- type: textarea
id: reproduce
attributes:
label: Reproduction steps
description: Numbered steps. Include the exact prompt or command if relevant.
placeholder: |
1. Open Window > MCP for Unity
2. Click Start Server
3. In Claude Desktop, prompt: "create a red cube"
4. Observe error in console: ...
validations:
required: true

- type: input
id: unity-version
attributes:
label: Unity version
placeholder: "6000.0.34f1, 2022.3.42f1, etc."
validations:
required: true

- type: input
id: package-version
attributes:
label: MCP for Unity package version
description: Found under Window > Package Manager → MCP for Unity.
placeholder: "9.6.3"
validations:
required: true

- type: input
id: server-version
attributes:
label: Python server version
description: Run `uv pip show mcpforunityserver` or check the bundled wheel.
placeholder: "9.6.3"
validations:
required: false

- type: dropdown
id: client
attributes:
label: MCP client
options:
- Claude Desktop
- Claude Code
- Cursor
- VS Code (Copilot)
- Windsurf
- Cline
- GitHub Copilot CLI
- Codex
- Qwen Code
- Gemini CLI
- OpenClaw
- Other (specify in description)
validations:
required: true

- type: dropdown
id: transport
attributes:
label: Transport
options:
- HTTP (default)
- stdio
- Don't know
validations:
required: true

- type: dropdown
id: os
attributes:
label: OS
options:
- macOS
- Windows
- Linux
validations:
required: true

- type: textarea
id: logs
attributes:
label: Relevant logs / console output
description: Editor console, MCP for Unity log, client log. Strip secrets.
render: text
validations:
required: false

- type: checkboxes
id: terms
attributes:
label: Checks
options:
- label: I searched existing issues and did not find a duplicate
required: true
- label: I included logs / steps to reproduce
required: true
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Discord — chat with maintainers
url: https://discord.gg/y4p8KfzrN4
about: Best for quick questions, troubleshooting, and design discussion.
- name: Documentation
url: https://coplaydev.github.io/unity-mcp/
about: Getting Started, guides, tool reference, and architecture notes.
- name: Security vulnerability
url: https://github.com/CoplayDev/unity-mcp/security/advisories/new
about: Report privately via GitHub Security Advisories or email security@coplay.dev. Do NOT open a public issue.
- name: Discussion / design idea
url: https://github.com/CoplayDev/unity-mcp/discussions
about: Broad questions, design conversations, show-and-tell.
63 changes: 63 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Feature request
description: Suggest a new tool, capability, or quality-of-life improvement
title: "[Feature]: "
labels: ["enhancement", "needs-triage"]
body:
- type: markdown
attributes:
value: |
Got an idea? Great. The more concrete you can be about *who* this helps and *what* they're trying to do, the easier it is to scope.

For tool requests: please name the Unity API/system you'd be wrapping and what your MCP client would actually say.

- type: textarea
id: problem
attributes:
label: What problem are you trying to solve?
description: Frame the user need first, not the implementation.
placeholder: |
When I'm prototyping with the LLM, I can't get it to build a NavMesh because there's no MCP tool for the AI navigation system. I have to flip back to the Editor manually.
validations:
required: true

- type: textarea
id: proposal
attributes:
label: What would you like to see?
description: Be specific. New tool? New action on an existing tool? New resource? Workflow change?
placeholder: |
A new `manage_navigation` tool with actions: bake, clear, set_agent_radius, query_nearest_edge, ...
validations:
required: true

- type: textarea
id: prior-art
attributes:
label: Prior art / how do you work around this today?
placeholder: I currently bake manually via Window > AI > Navigation, then ask the LLM to reason about it.
validations:
required: false

- type: dropdown
id: scope
attributes:
label: Scope hint
options:
- New tool (substantial)
- New action on an existing tool
- New resource
- UX / editor window
- CLI improvement
- Documentation
- Other
validations:
required: true

- type: checkboxes
id: contribute
attributes:
label: Would you be willing to help build this?
options:
- label: I can open a PR if a maintainer sketches the approach
- label: I can help test
- label: I can write the docs
92 changes: 92 additions & 0 deletions .github/workflows/docs-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Docs — Build & Deploy

# Builds the Docusaurus site under /website and, on push to beta, deploys
# to GitHub Pages at https://coplaydev.github.io/unity-mcp/.
#
# PR runs only build (no deploy) as a preview-validation step.
# Re-deploys also fire when the Python tool/resource registry changes,
# so M3's auto-generated reference pages stay fresh.

on:
push:
branches: [beta]
paths:
- website/**
- docs/**
- Server/src/services/tools/**
- Server/src/services/resources/**
- Server/src/services/registry/**
- .github/workflows/docs-deploy.yml
pull_request:
branches: [beta, main]
paths:
- website/**
- docs/**
- Server/src/services/tools/**
- Server/src/services/resources/**
- Server/src/services/registry/**
- .github/workflows/docs-deploy.yml
workflow_dispatch: {}

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
name: Build site
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
# Full history so Docusaurus's showLastUpdateTime / showLastUpdateAuthor
# can resolve real per-file commit metadata. Shallow clones make every
# page report the latest commit instead.
fetch-depth: 0
Comment thread
coderabbitai[bot] marked this conversation as resolved.
# No push back from this workflow — the deploy uses the Pages
# OIDC token issued by actions/deploy-pages, not the repo token.
persist-credentials: false

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: website/package-lock.json

- name: Install dependencies
working-directory: website
run: npm ci

- name: Setup Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/beta'
uses: actions/configure-pages@v5

- name: Build
working-directory: website
run: npm run build

- name: Upload Pages artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/beta'
uses: actions/upload-pages-artifact@v3
with:
path: website/build

deploy:
name: Deploy to GitHub Pages
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/beta'
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy
id: deployment
uses: actions/deploy-pages@v4
72 changes: 72 additions & 0 deletions .github/workflows/docs-generate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Docs — Reference Drift Check

# Fails a PR if the committed /website/docs/reference/ output disagrees
# with what tools/generate_docs_reference.py would produce from the live
# Python tool/resource registry. Contributors should regenerate locally:
#
# cd Server && uv run python ../tools/generate_docs_reference.py
#
# or install the pre-commit hook to make this automatic:
#
# tools/install-hooks.sh

on:
pull_request:
branches: [beta, main]
paths:
- Server/src/services/tools/**
- Server/src/services/resources/**
- Server/src/services/registry/**
- website/docs/reference/**
- tools/generate_docs_reference.py
- .github/workflows/docs-generate.yml
push:
branches: [beta]
paths:
- Server/src/services/tools/**
- Server/src/services/resources/**
- Server/src/services/registry/**
- website/docs/reference/**
- tools/generate_docs_reference.py
- .github/workflows/docs-generate.yml
workflow_dispatch: {}

jobs:
check:
name: Check docs reference is fresh
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
Comment thread
coderabbitai[bot] marked this conversation as resolved.
with:
persist-credentials: false

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: latest

- name: Set up Python
run: uv python install 3.10

- name: Sync Server deps
working-directory: Server
run: uv sync

- name: Drift check
working-directory: Server
run: uv run python ../tools/generate_docs_reference.py --check

- name: Tool-count sanity
run: |
set -euo pipefail
# Match the decorator at start-of-line (skips imports and docstring mentions).
decorator_count=$(grep -rhE "^@mcp_for_unity_tool\(" Server/src/services/tools/ | wc -l | tr -d ' ')
# md_count excludes group landing pages (index.md) and the catalog root.
md_count=$(find website/docs/reference/tools -name '*.md' -not -name 'index.md' | wc -l | tr -d ' ')
echo "decorator_count=$decorator_count, md_count=$md_count"
if [[ "$decorator_count" != "$md_count" ]]; then
echo "Mismatch: $decorator_count @mcp_for_unity_tool decorators vs $md_count reference pages." >&2
echo "Run: cd Server && uv run python ../tools/generate_docs_reference.py" >&2
exit 1
fi
Loading
Loading