qFoldIT Toolbelt — Unity
109 composite editor-automation tools for Unity, exposed to AI agents through Unity's own official MCP bridge.
Built by qFoldIT — foundation release, 2026
What this is
Unity 2023+ ships its own MCP server built into the Editor
(com.unity.ai.assistant, "Unity MCP"). It already gives an AI agent a
generic, low-level surface: run C#, query the scene, call arbitrary editor
APIs. qFoldIT Toolbelt does not replace that — it registers a second
layer of higher-level, composite tools on top of it, the same way
UEFN Toolbelt built 355
named commands on top of UEFN's raw Python API instead of making an agent
write one-off scripts every time.
Instead of an agent writing:
// 15 lines of GameObject.CreatePrimitive + loop math + material setup
// to place 12 crates in a circle with a neon material...
it calls:
procedural_place(pattern="circle", count=12, radius=5)
material_bulk_swap(name_contains="Crate", preset="neon")
Architecture
Claude / any MCP client
│ MCP protocol (stdio, via Unity's relay binary)
▼
Unity Editor ── McpToolRegistry (built into com.unity.ai.assistant)
│
▼
qFoldIT Toolbelt tools (Editor/Tools/*.cs, [McpTool] attributes)
│
▼
UnityEditor / UnityEngine APIs
No external process, no HTTP relay, no polling — this package is pure C#
that Unity's own TypeCache scan discovers at Editor startup, exactly as
documented in
Register custom MCP tools.
See ARCHITECTURE.md for the full design and docs/TOOL_REFERENCE.md for every tool's signature.
Install
- Ensure
com.unity.ai.assistant(Unity MCP) is installed and enabled: Edit → Project Settings → AI → Unity MCP. - Add this package via Package Manager → "Install package from disk" and
point it at this folder's
package.json, or add it toPackages/manifest.json:"com.qfoldit.toolbelt": "file:../qfoldit-unity-toolbelt" - Reopen the Editor. The tools appear automatically under AI → Unity MCP → Tools and are exposed to any connected MCP client (Claude Code, Cursor, etc.) — no separate server to start.
- Optional: qFoldIT → Toolbelt → Export Tool Manifest writes
Saved/QFoldIT_Toolbelt/tool_manifest.jsonfor agents that prefer to load a static manifest instead of calling MCP's livelist tools.
Tool categories (109 tools total)
Roadmap to parity
This release brings the toolbelt to 109 real tools across 28
categories — still short of UEFN Toolbelt's 355, but well past the
25-tool foundation. More importantly, this revision adapts the whole UAG
Bridge to qfoldit-engine-adapter-spec-v0.1, the formal spec package
(not the earlier informal Phase-1 draft): UagModel.cs now matches the
normative schemas/uag.schema.json exactly (schema/scene/
node.parent/bindings[]), uag_validate emits {code, message} errors
matching the spec's own conformance/test_vectors.json byte-for-byte, and
qfoldit.adapter.json (this repo's root) is strictly valid against
schemas/adapter-manifest.schema.json.
Real, verified milestone: running the spec's own unmodified
reference/compiler.py (from qfoldit-scientific-gameplay-framework-v0.1)
against this repo's actual qfoldit.adapter.json now compiles all 5
currently-unlocked gameplay patterns with status=success and zero gaps —
up from 0/5 before this revision (see cross-engine-compile-report.md in
that package). This was earned by building real capability, not by
editing the manifest's status field by hand:
interaction(blocked 4/5 patterns):Runtime/QFoldITInteractable.cs— a real, pre-compiled MonoBehaviour in a dedicated Runtime assembly (works in Play Mode and builds, not just the Editor) with a workingOnMouseDown → UnityEventwiring, for all 10 gameplay mechanics plus legacy triggers.interaction_createattaches it to any node.scientific.visualization(blocked 5/5 patterns):ScientificVisualizationTools.csrealizes every UAGscientific_subject/<mechanic>node as a real, visible, mechanic-differentiated object (shape + material preset keyed by mechanic), withRuntime/QFoldITScientificBinding.csgivingbindings[]genuine, queryable substance instead of accepting-and-discarding ascientific-state://URI.geometry.procedural(blocked 2/5 patterns): already real, working capability from an earlier revision (procedural_place's 8 patterns +arena_generate) — the manifest's earlier "partial" rating undercounted it; no new code was needed, just an honest status correction.
See docs/UAG_BRIDGE.md for the full contract,
mapping table, and — importantly — what these capabilities honestly do
not cover (native per-mechanic gameplay logic, live Niagara-style
parameter-mapped feedback). tests/conformance/ runs the spec's real
test_vectors.json against the actual, unmodified UagValidator.cs.
Structured to keep growing the same way: new files under Editor/Tools/,
each adding [McpTool] methods, tracked in registry.json.
License
AGPL-3.0, with an additional visible-attribution requirement — see LICENSE. Any tool built on this codebase must credit qFoldIT and link back to this repository (see LICENSE for the exact wording); network/hosted use requires publishing your modified source.