Skip to content

Commit f7ded78

Browse files
authored
Merge pull request #1157 from Scriptwonder/docs/v2-wiki-refresh
[UPDATE] Wiki/Doc
2 parents f06ff90 + 7c553f1 commit f7ded78

149 files changed

Lines changed: 28807 additions & 324 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
name: Bug report
2+
description: Something isn't working as expected
3+
title: "[Bug]: "
4+
labels: ["bug", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to file a bug. The more specific you can be, the faster we can help.
10+
11+
**Before filing:**
12+
- Search [existing issues](https://github.com/CoplayDev/unity-mcp/issues?q=is%3Aissue) to avoid duplicates
13+
- Check the [troubleshooting docs](https://coplaydev.github.io/unity-mcp/guides/troubleshooting) and [setup wiki](https://github.com/CoplayDev/unity-mcp/wiki)
14+
15+
- type: textarea
16+
id: what-happened
17+
attributes:
18+
label: What happened?
19+
description: Clear, concrete description. What did you expect? What did you get?
20+
placeholder: When I run X, I expect Y, but I see Z.
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: reproduce
26+
attributes:
27+
label: Reproduction steps
28+
description: Numbered steps. Include the exact prompt or command if relevant.
29+
placeholder: |
30+
1. Open Window > MCP for Unity
31+
2. Click Start Server
32+
3. In Claude Desktop, prompt: "create a red cube"
33+
4. Observe error in console: ...
34+
validations:
35+
required: true
36+
37+
- type: input
38+
id: unity-version
39+
attributes:
40+
label: Unity version
41+
placeholder: "6000.0.34f1, 2022.3.42f1, etc."
42+
validations:
43+
required: true
44+
45+
- type: input
46+
id: package-version
47+
attributes:
48+
label: MCP for Unity package version
49+
description: Found under Window > Package Manager → MCP for Unity.
50+
placeholder: "9.6.3"
51+
validations:
52+
required: true
53+
54+
- type: input
55+
id: server-version
56+
attributes:
57+
label: Python server version
58+
description: Run `uv pip show mcpforunityserver` or check the bundled wheel.
59+
placeholder: "9.6.3"
60+
validations:
61+
required: false
62+
63+
- type: dropdown
64+
id: client
65+
attributes:
66+
label: MCP client
67+
options:
68+
- Claude Desktop
69+
- Claude Code
70+
- Cursor
71+
- VS Code (Copilot)
72+
- Windsurf
73+
- Cline
74+
- GitHub Copilot CLI
75+
- Codex
76+
- Qwen Code
77+
- Gemini CLI
78+
- OpenClaw
79+
- Other (specify in description)
80+
validations:
81+
required: true
82+
83+
- type: dropdown
84+
id: transport
85+
attributes:
86+
label: Transport
87+
options:
88+
- HTTP (default)
89+
- stdio
90+
- Don't know
91+
validations:
92+
required: true
93+
94+
- type: dropdown
95+
id: os
96+
attributes:
97+
label: OS
98+
options:
99+
- macOS
100+
- Windows
101+
- Linux
102+
validations:
103+
required: true
104+
105+
- type: textarea
106+
id: logs
107+
attributes:
108+
label: Relevant logs / console output
109+
description: Editor console, MCP for Unity log, client log. Strip secrets.
110+
render: text
111+
validations:
112+
required: false
113+
114+
- type: checkboxes
115+
id: terms
116+
attributes:
117+
label: Checks
118+
options:
119+
- label: I searched existing issues and did not find a duplicate
120+
required: true
121+
- label: I included logs / steps to reproduce
122+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Discord — chat with maintainers
4+
url: https://discord.gg/y4p8KfzrN4
5+
about: Best for quick questions, troubleshooting, and design discussion.
6+
- name: Documentation
7+
url: https://coplaydev.github.io/unity-mcp/
8+
about: Getting Started, guides, tool reference, and architecture notes.
9+
- name: Security vulnerability
10+
url: https://github.com/CoplayDev/unity-mcp/security/advisories/new
11+
about: Report privately via GitHub Security Advisories or email security@coplay.dev. Do NOT open a public issue.
12+
- name: Discussion / design idea
13+
url: https://github.com/CoplayDev/unity-mcp/discussions
14+
about: Broad questions, design conversations, show-and-tell.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Feature request
2+
description: Suggest a new tool, capability, or quality-of-life improvement
3+
title: "[Feature]: "
4+
labels: ["enhancement", "needs-triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
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.
10+
11+
For tool requests: please name the Unity API/system you'd be wrapping and what your MCP client would actually say.
12+
13+
- type: textarea
14+
id: problem
15+
attributes:
16+
label: What problem are you trying to solve?
17+
description: Frame the user need first, not the implementation.
18+
placeholder: |
19+
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.
20+
validations:
21+
required: true
22+
23+
- type: textarea
24+
id: proposal
25+
attributes:
26+
label: What would you like to see?
27+
description: Be specific. New tool? New action on an existing tool? New resource? Workflow change?
28+
placeholder: |
29+
A new `manage_navigation` tool with actions: bake, clear, set_agent_radius, query_nearest_edge, ...
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: prior-art
35+
attributes:
36+
label: Prior art / how do you work around this today?
37+
placeholder: I currently bake manually via Window > AI > Navigation, then ask the LLM to reason about it.
38+
validations:
39+
required: false
40+
41+
- type: dropdown
42+
id: scope
43+
attributes:
44+
label: Scope hint
45+
options:
46+
- New tool (substantial)
47+
- New action on an existing tool
48+
- New resource
49+
- UX / editor window
50+
- CLI improvement
51+
- Documentation
52+
- Other
53+
validations:
54+
required: true
55+
56+
- type: checkboxes
57+
id: contribute
58+
attributes:
59+
label: Would you be willing to help build this?
60+
options:
61+
- label: I can open a PR if a maintainer sketches the approach
62+
- label: I can help test
63+
- label: I can write the docs

.github/workflows/docs-deploy.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Docs — Build & Deploy
2+
3+
# Builds the Docusaurus site under /website and, on push to beta, deploys
4+
# to GitHub Pages at https://coplaydev.github.io/unity-mcp/.
5+
#
6+
# PR runs only build (no deploy) as a preview-validation step.
7+
# Re-deploys also fire when the Python tool/resource registry changes,
8+
# so M3's auto-generated reference pages stay fresh.
9+
10+
on:
11+
push:
12+
branches: [beta]
13+
paths:
14+
- website/**
15+
- docs/**
16+
- Server/src/services/tools/**
17+
- Server/src/services/resources/**
18+
- Server/src/services/registry/**
19+
- .github/workflows/docs-deploy.yml
20+
pull_request:
21+
branches: [beta, main]
22+
paths:
23+
- website/**
24+
- docs/**
25+
- Server/src/services/tools/**
26+
- Server/src/services/resources/**
27+
- Server/src/services/registry/**
28+
- .github/workflows/docs-deploy.yml
29+
workflow_dispatch: {}
30+
31+
permissions:
32+
contents: read
33+
pages: write
34+
id-token: write
35+
36+
concurrency:
37+
group: pages
38+
cancel-in-progress: false
39+
40+
jobs:
41+
build:
42+
name: Build site
43+
runs-on: ubuntu-latest
44+
steps:
45+
- name: Checkout
46+
uses: actions/checkout@v4
47+
with:
48+
# Full history so Docusaurus's showLastUpdateTime / showLastUpdateAuthor
49+
# can resolve real per-file commit metadata. Shallow clones make every
50+
# page report the latest commit instead.
51+
fetch-depth: 0
52+
# No push back from this workflow — the deploy uses the Pages
53+
# OIDC token issued by actions/deploy-pages, not the repo token.
54+
persist-credentials: false
55+
56+
- name: Setup Node
57+
uses: actions/setup-node@v4
58+
with:
59+
node-version: 20
60+
cache: npm
61+
cache-dependency-path: website/package-lock.json
62+
63+
- name: Install dependencies
64+
working-directory: website
65+
run: npm ci
66+
67+
- name: Setup Pages
68+
if: github.event_name == 'push' && github.ref == 'refs/heads/beta'
69+
uses: actions/configure-pages@v5
70+
71+
- name: Build
72+
working-directory: website
73+
run: npm run build
74+
75+
- name: Upload Pages artifact
76+
if: github.event_name == 'push' && github.ref == 'refs/heads/beta'
77+
uses: actions/upload-pages-artifact@v3
78+
with:
79+
path: website/build
80+
81+
deploy:
82+
name: Deploy to GitHub Pages
83+
needs: build
84+
if: github.event_name == 'push' && github.ref == 'refs/heads/beta'
85+
runs-on: ubuntu-latest
86+
environment:
87+
name: github-pages
88+
url: ${{ steps.deployment.outputs.page_url }}
89+
steps:
90+
- name: Deploy
91+
id: deployment
92+
uses: actions/deploy-pages@v4
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Docs — Reference Drift Check
2+
3+
# Fails a PR if the committed /website/docs/reference/ output disagrees
4+
# with what tools/generate_docs_reference.py would produce from the live
5+
# Python tool/resource registry. Contributors should regenerate locally:
6+
#
7+
# cd Server && uv run python ../tools/generate_docs_reference.py
8+
#
9+
# or install the pre-commit hook to make this automatic:
10+
#
11+
# tools/install-hooks.sh
12+
13+
on:
14+
pull_request:
15+
branches: [beta, main]
16+
paths:
17+
- Server/src/services/tools/**
18+
- Server/src/services/resources/**
19+
- Server/src/services/registry/**
20+
- website/docs/reference/**
21+
- tools/generate_docs_reference.py
22+
- .github/workflows/docs-generate.yml
23+
push:
24+
branches: [beta]
25+
paths:
26+
- Server/src/services/tools/**
27+
- Server/src/services/resources/**
28+
- Server/src/services/registry/**
29+
- website/docs/reference/**
30+
- tools/generate_docs_reference.py
31+
- .github/workflows/docs-generate.yml
32+
workflow_dispatch: {}
33+
34+
jobs:
35+
check:
36+
name: Check docs reference is fresh
37+
runs-on: ubuntu-latest
38+
steps:
39+
- name: Checkout
40+
uses: actions/checkout@v4
41+
with:
42+
persist-credentials: false
43+
44+
- name: Install uv
45+
uses: astral-sh/setup-uv@v4
46+
with:
47+
version: latest
48+
49+
- name: Set up Python
50+
run: uv python install 3.10
51+
52+
- name: Sync Server deps
53+
working-directory: Server
54+
run: uv sync
55+
56+
- name: Drift check
57+
working-directory: Server
58+
run: uv run python ../tools/generate_docs_reference.py --check
59+
60+
- name: Tool-count sanity
61+
run: |
62+
set -euo pipefail
63+
# Match the decorator at start-of-line (skips imports and docstring mentions).
64+
decorator_count=$(grep -rhE "^@mcp_for_unity_tool\(" Server/src/services/tools/ | wc -l | tr -d ' ')
65+
# md_count excludes group landing pages (index.md) and the catalog root.
66+
md_count=$(find website/docs/reference/tools -name '*.md' -not -name 'index.md' | wc -l | tr -d ' ')
67+
echo "decorator_count=$decorator_count, md_count=$md_count"
68+
if [[ "$decorator_count" != "$md_count" ]]; then
69+
echo "Mismatch: $decorator_count @mcp_for_unity_tool decorators vs $md_count reference pages." >&2
70+
echo "Run: cd Server && uv run python ../tools/generate_docs_reference.py" >&2
71+
exit 1
72+
fi

0 commit comments

Comments
 (0)