Thanks for wanting to help! MCP for Unity is community-maintained and PRs of any size are welcome — bug fixes, new tools, docs improvements, tests.
- Fork this repo and clone your fork.
- Branch off
beta(notmain):git checkout -b feat/your-idea upstream/beta
- Install the dev environment (see Dev Setup).
- Make your change with tests.
- Open a PR against
beta. PRs againstmainwill be redirected.
- Tests for new behavior. Python tests live in
Server/tests/; Unity EditMode tests live inTestProjects/UnityMCPTests/Assets/Tests/. - Domain symmetry. New tools live in both
Server/src/services/tools/manage_<domain>.py(Python MCP tool) andMCPForUnity/Editor/Tools/Manage<Domain>.cs(C# implementation). See Adding a New Tool. - Minimal abstraction. Three similar lines of code is better than a helper that's only used once.
- Documentation as code. Tool reference pages under
website/docs/reference/are auto-generated — never hand-edit them outside the<!-- examples:start --><!-- examples:end -->blocks.
# Python tests
cd Server && uv run pytest tests/ -v
# Unity multi-version compile check (matches CI)
tools/check-unity-versions.sh
# Pre-commit hook for docs reference (one-time setup)
tools/install-hooks.shThe pre-commit hook regenerates website/docs/reference/ whenever you touch a tool/resource module — saves you a CI round trip.
- Branched off
beta - New or updated tests
- Docs updated (the auto-gen handles the tool reference; narrative docs under
website/docs/are hand-written) - No commented-out code, no
// removed for Xmarkers, no_unusedrenames - PR description explains the why, not just the what
- Python: type hints required; follow the patterns in existing
manage_*.pyfiles. - C#: match existing namespace conventions under
MCPForUnity.Editor.*; route Unity API differences throughMCPForUnity/Runtime/Helpers/Unity*Compat.csshims rather than#if UNITY_*_OR_NEWERblocks. - Markdown: wrap at sensible widths; use sentence case in headings.
- Examples in tool reference pages (
website/docs/reference/tools/**/*.md— add inside the<!-- examples:start --><!-- examples:end -->blocks). - Net-new guide content (multi-instance routing, tool groups, transport modes).
- Translations beyond Chinese.
- Cross-platform shell testing for the CLI.
Use the issue templates under .github/ISSUE_TEMPLATE/. For security concerns, see SECURITY.md — do not open a public issue.
See CODE_OF_CONDUCT.md. Be excellent to each other.
- GitHub Issues — bugs, features
- Discord — chat with maintainers and other contributors
- Discussions — design ideas, broad questions