{"owner":"IvanMurzak","repo":"Unity-MCP","hasSkills":true,"totalSkillsCount":5,"totalTokensCount":2547,"categories":["root-instruction","copilot-instructions","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"Unity-MCP":{"command":"npx","args":["-y","@modelcontextprotocol/server-Unity-MCP"]}}},"found":["AGENTS.md",".github/copilot-instructions.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"AGENTS.md":"# AGENTS.md\n\nUnity-MCP bridges LLMs (Claude, Cursor, Copilot, etc.) with the Unity Editor and Runtime via the\n[Model Context Protocol](https://modelcontextprotocol.io/).\n\nThe MCP server is NOT in this repo: the plugin consumes the shared\n[GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) (binary `gamedev-mcp-server`,\nrelease assets `gamedev-mcp-server-<rid>.zip`, Docker `aigamedeveloper/mcp-server`), one\nengine-agnostic server shared by Unity-MCP, Godot-MCP and Unreal-MCP. The plugin downloads the\nrelease pinned by the `ServerVersion` constant in\n`Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/McpServerManager.cs` (decoupled\nfrom the plugin version). Bumping the consumed server = changing that constant; the pinned\n`v<ServerVersion>` release (with all 7 RID zips) must exist BEFORE a plugin release that pins it.\n\n## Build / run\n\n- Bump version: `.\\commands\\bump-version.ps1 <version>`.\n- Releases happen only by manually dispatching `.github/workflows/release.yml`; merging a version\n  bump publishes nothing.\n- Unity `.meta` files: never hand-write them; Unity generates them on asset refresh.\n\n## Layout\n\n- `Unity-MCP-Plugin/` — the Unity project holding the UPM package `com.ivanmurzak.unity.mcp`\n  (all plugin code and its tests); see its `AGENTS.md`.\n- `cli/` — `unity-mcp-cli` npm package (TypeScript); see its `AGENTS.md`.\n- `extensions/` — ten optional UPM modules, independent component versions and signed releases.\n- `templates/extension/` — inert scaffold; shared tests/releases live in `commands/extensions.py` and `docs/dev/extensions.md`.\n- `Installer/` — Unity project that builds the installer `.unitypackage`.\n- `Unity-Tests/<unity-version>/` — per-Unity-version test projects referencing the plugin package\n  and all extension packages via `file:`; prepare with `commands/extensions.py` before opening.\n- `tests/chain-fixtures/` — recorded tool-call fixtures for chain tests, compared byte-for-byte\n  (LF); re-recorded by the plugin's `Tests/Editor/Chain/ChainRecordTests.cs`, never hand-edited.\n- `commands/` — PowerShell/Python utility scripts (version bump, Unity tests, release notes).\n- `docs/` — README translations, dev docs (`docs/dev/`), agent detail docs (`docs/agents/`).\n- `memory/` — durable agent lessons (`memory/MEMORY.md` is the index).\n- `.github/workflows/`, `.github/scripts/` — CI/CD and its helper scripts.\n\n## Find detail in\n\n- [docs/agents/architecture.md](docs/agents/architecture.md) — SignalR bridge, main-thread execution, deterministic port hashing\n- [docs/agents/style.md](docs/agents/style.md) — coding conventions: `#nullable enable`, no reflection for private access, namespaces, copyright headers\n- [docs/agents/release.md](docs/agents/release.md) — release, versioning, CI/CD\n- [docs/agents/ci-unity-license.md](docs/agents/ci-unity-license.md) — Unity license for CI\n- [docs/agents/documentation-sync.md](docs/agents/documentation-sync.md) — README translation/copy sync requirements\n",".github/copilot-instructions.md":"# Project Guidelines\n\n## Critical Rules\n\n### No C# Reflection for Private Access\n\n**PROHIBITED**: Using `System.Reflection` to access private, internal, or otherwise non-public fields, properties, methods, or classes in project code. This includes `Type.GetType`, `BindingFlags.NonPublic`, `GetMethod`, `GetField`, `GetProperty`, and similar reflection APIs when used to bypass access modifiers.\n\n**Example of prohibited code:**\n```csharp\n// WRONG: Accessing internal Unity API via reflection\nvar logEntriesType = Type.GetType(\"UnityEditor.LogEntries, UnityEditor.CoreModule\")\n                  ?? Type.GetType(\"UnityEditorInternal.LogEntries, UnityEditor.CoreModule\")\n                  ?? Type.GetType(\"UnityEditor.LogEntries, UnityEditor\")\n                  ?? Type.GetType(\"UnityEditorInternal.LogEntries, UnityEditor\");\nlogEntriesType?.GetMethod(\"Clear\", BindingFlags.Static | BindingFlags.Public)\n              ?.Invoke(null, null);\n```\n\n> **Note**: This rule does NOT apply to `ReflectorNet` library usage, which is an external dependency specifically designed for reflection-based access patterns.\n\n## Code Review\n\nBefore performing any code review, you **MUST** read the project constitution: [`.specify/memory/constitution.md`](.specify/memory/constitution.md). All code review feedback must verify adherence to the principles defined in the constitution. Constitution principles supersede ad-hoc practices when conflicts arise.\n\n## Code Style\n- **C#**: Use 4 spaces indentation. PascalCase for classes/methods/properties, `_camelCase` for private readonly fields.\n    - Namespace: `com.IvanMurzak.Unity.MCP`.\n    - Example: [UnityMcpPlugin.cs](Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.cs).\n- **PowerShell**: Use K&R brace style.\n\n## Architecture\n- **Unity-MCP-Plugin**: Main Unity package.\n    - Core logic: [Packages/com.ivanmurzak.unity.mcp/Runtime](Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Runtime).\n    - Editor logic: `Packages/com.ivanmurzak.unity.mcp/Editor`.\n    - Tests: `Packages/com.ivanmurzak.unity.mcp/Tests`.\n- **MCP Server**: lives in the shared [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) repo (binary `gamedev-mcp-server`); the plugin downloads the release pinned by `McpServerManager.ServerVersion`.\n- **Installer**: [Installer/](Installer/) wraps the package installation.\n- **Unity-Tests**: [Unity-Tests/](Unity-Tests/) contains projects for different Unity versions (2022.3, 6000.0, 6000.3, 6000.6) linking locally to the Plugin.\n\n## Build and Test\n- **Plugin**:\n    - Auto-compiles in Unity.\n    - Run tests: [commands/run-unity-tests.ps1](commands/run-unity-tests.ps1).\n    - Editor Tests: `Packages/com.ivanmurzak.unity.mcp/Tests/Editor`.\n- **Server**: built and released from the shared [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) repo — not from this repo.\n- **Commands**: See [commands/](commands/) for utility scripts (release, tests).\n\n## Project Conventions\n- **MCP Tools**: Implemented using attributes in the Plugin. Reflection-based access via `ReflectorNet`.\n- **Documentation**:\n    - [Unity-MCP.wiki](Unity-MCP.wiki/) for user docs.\n    - [docs/](docs/) for translations and repo docs.\n    - See `AGENTS.md` (root and subdirectories) for agent notes.\n- **Versioning**: `package.json` in `Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/package.json`.\n\n## Integration Points\n- **Communication**: SignalR between Server and Plugin.\n- **Dependencies**: OpenUPM for external packages.\n\n## Security\n- **Server Transport**: Configurable via `--client-transport` (`stdio` or `streamableHttp`).\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/plugin.json)"},"files":{"AGENTS.md":"# AGENTS.md\n\nUnity-MCP bridges LLMs (Claude, Cursor, Copilot, etc.) with the Unity Editor and Runtime via the\n[Model Context Protocol](https://modelcontextprotocol.io/).\n\nThe MCP server is NOT in this repo: the plugin consumes the shared\n[GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) (binary `gamedev-mcp-server`,\nrelease assets `gamedev-mcp-server-<rid>.zip`, Docker `aigamedeveloper/mcp-server`), one\nengine-agnostic server shared by Unity-MCP, Godot-MCP and Unreal-MCP. The plugin downloads the\nrelease pinned by the `ServerVersion` constant in\n`Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/McpServerManager.cs` (decoupled\nfrom the plugin version). Bumping the consumed server = changing that constant; the pinned\n`v<ServerVersion>` release (with all 7 RID zips) must exist BEFORE a plugin release that pins it.\n\n## Build / run\n\n- Bump version: `.\\commands\\bump-version.ps1 <version>`.\n- Releases happen only by manually dispatching `.github/workflows/release.yml`; merging a version\n  bump publishes nothing.\n- Unity `.meta` files: never hand-write them; Unity generates them on asset refresh.\n\n## Layout\n\n- `Unity-MCP-Plugin/` — the Unity project holding the UPM package `com.ivanmurzak.unity.mcp`\n  (all plugin code and its tests); see its `AGENTS.md`.\n- `cli/` — `unity-mcp-cli` npm package (TypeScript); see its `AGENTS.md`.\n- `extensions/` — ten optional UPM modules, independent component versions and signed releases.\n- `templates/extension/` — inert scaffold; shared tests/releases live in `commands/extensions.py` and `docs/dev/extensions.md`.\n- `Installer/` — Unity project that builds the installer `.unitypackage`.\n- `Unity-Tests/<unity-version>/` — per-Unity-version test projects referencing the plugin package\n  and all extension packages via `file:`; prepare with `commands/extensions.py` before opening.\n- `tests/chain-fixtures/` — recorded tool-call fixtures for chain tests, compared byte-for-byte\n  (LF); re-recorded by the plugin's `Tests/Editor/Chain/ChainRecordTests.cs`, never hand-edited.\n- `commands/` — PowerShell/Python utility scripts (version bump, Unity tests, release notes).\n- `docs/` — README translations, dev docs (`docs/dev/`), agent detail docs (`docs/agents/`).\n- `memory/` — durable agent lessons (`memory/MEMORY.md` is the index).\n- `.github/workflows/`, `.github/scripts/` — CI/CD and its helper scripts.\n\n## Find detail in\n\n- [docs/agents/architecture.md](docs/agents/architecture.md) — SignalR bridge, main-thread execution, deterministic port hashing\n- [docs/agents/style.md](docs/agents/style.md) — coding conventions: `#nullable enable`, no reflection for private access, namespaces, copyright headers\n- [docs/agents/release.md](docs/agents/release.md) — release, versioning, CI/CD\n- [docs/agents/ci-unity-license.md](docs/agents/ci-unity-license.md) — Unity license for CI\n- [docs/agents/documentation-sync.md](docs/agents/documentation-sync.md) — README translation/copy sync requirements\n",".github/copilot-instructions.md":"# Project Guidelines\n\n## Critical Rules\n\n### No C# Reflection for Private Access\n\n**PROHIBITED**: Using `System.Reflection` to access private, internal, or otherwise non-public fields, properties, methods, or classes in project code. This includes `Type.GetType`, `BindingFlags.NonPublic`, `GetMethod`, `GetField`, `GetProperty`, and similar reflection APIs when used to bypass access modifiers.\n\n**Example of prohibited code:**\n```csharp\n// WRONG: Accessing internal Unity API via reflection\nvar logEntriesType = Type.GetType(\"UnityEditor.LogEntries, UnityEditor.CoreModule\")\n                  ?? Type.GetType(\"UnityEditorInternal.LogEntries, UnityEditor.CoreModule\")\n                  ?? Type.GetType(\"UnityEditor.LogEntries, UnityEditor\")\n                  ?? Type.GetType(\"UnityEditorInternal.LogEntries, UnityEditor\");\nlogEntriesType?.GetMethod(\"Clear\", BindingFlags.Static | BindingFlags.Public)\n              ?.Invoke(null, null);\n```\n\n> **Note**: This rule does NOT apply to `ReflectorNet` library usage, which is an external dependency specifically designed for reflection-based access patterns.\n\n## Code Review\n\nBefore performing any code review, you **MUST** read the project constitution: [`.specify/memory/constitution.md`](.specify/memory/constitution.md). All code review feedback must verify adherence to the principles defined in the constitution. Constitution principles supersede ad-hoc practices when conflicts arise.\n\n## Code Style\n- **C#**: Use 4 spaces indentation. PascalCase for classes/methods/properties, `_camelCase` for private readonly fields.\n    - Namespace: `com.IvanMurzak.Unity.MCP`.\n    - Example: [UnityMcpPlugin.cs](Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.cs).\n- **PowerShell**: Use K&R brace style.\n\n## Architecture\n- **Unity-MCP-Plugin**: Main Unity package.\n    - Core logic: [Packages/com.ivanmurzak.unity.mcp/Runtime](Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Runtime).\n    - Editor logic: `Packages/com.ivanmurzak.unity.mcp/Editor`.\n    - Tests: `Packages/com.ivanmurzak.unity.mcp/Tests`.\n- **MCP Server**: lives in the shared [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) repo (binary `gamedev-mcp-server`); the plugin downloads the release pinned by `McpServerManager.ServerVersion`.\n- **Installer**: [Installer/](Installer/) wraps the package installation.\n- **Unity-Tests**: [Unity-Tests/](Unity-Tests/) contains projects for different Unity versions (2022.3, 6000.0, 6000.3, 6000.6) linking locally to the Plugin.\n\n## Build and Test\n- **Plugin**:\n    - Auto-compiles in Unity.\n    - Run tests: [commands/run-unity-tests.ps1](commands/run-unity-tests.ps1).\n    - Editor Tests: `Packages/com.ivanmurzak.unity.mcp/Tests/Editor`.\n- **Server**: built and released from the shared [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) repo — not from this repo.\n- **Commands**: See [commands/](commands/) for utility scripts (release, tests).\n\n## Project Conventions\n- **MCP Tools**: Implemented using attributes in the Plugin. Reflection-based access via `ReflectorNet`.\n- **Documentation**:\n    - [Unity-MCP.wiki](Unity-MCP.wiki/) for user docs.\n    - [docs/](docs/) for translations and repo docs.\n    - See `AGENTS.md` (root and subdirectories) for agent notes.\n- **Versioning**: `package.json` in `Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/package.json`.\n\n## Integration Points\n- **Communication**: SignalR between Server and Plugin.\n- **Dependencies**: OpenUPM for external packages.\n\n## Security\n- **Server Transport**: Configurable via `--client-transport` (`stdio` or `streamableHttp`).\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# AGENTS.md\n\nUnity-MCP bridges LLMs (Claude, Cursor, Copilot, etc.) with the Unity Editor and Runtime via the\n[Model Context Protocol](https://modelcontextprotocol.io/).\n\nThe MCP server is NOT in this repo: the plugin consumes the shared\n[GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) (binary `gamedev-mcp-server`,\nrelease assets `gamedev-mcp-server-<rid>.zip`, Docker `aigamedeveloper/mcp-server`), one\nengine-agnostic server shared by Unity-MCP, Godot-MCP and Unreal-MCP. The plugin downloads the\nrelease pinned by the `ServerVersion` constant in\n`Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/McpServerManager.cs` (decoupled\nfrom the plugin version). Bumping the consumed server = changing that constant; the pinned\n`v<ServerVersion>` release (with all 7 RID zips) must exist BEFORE a plugin release that pins it.\n\n## Build / run\n\n- Bump version: `.\\commands\\bump-version.ps1 <version>`.\n- Releases happen only by manually dispatching `.github/workflows/release.yml`; merging a version\n  bump publishes nothing.\n- Unity `.meta` files: never hand-write them; Unity generates them on asset refresh.\n\n## Layout\n\n- `Unity-MCP-Plugin/` — the Unity project holding the UPM package `com.ivanmurzak.unity.mcp`\n  (all plugin code and its tests); see its `AGENTS.md`.\n- `cli/` — `unity-mcp-cli` npm package (TypeScript); see its `AGENTS.md`.\n- `extensions/` — ten optional UPM modules, independent component versions and signed releases.\n- `templates/extension/` — inert scaffold; shared tests/releases live in `commands/extensions.py` and `docs/dev/extensions.md`.\n- `Installer/` — Unity project that builds the installer `.unitypackage`.\n- `Unity-Tests/<unity-version>/` — per-Unity-version test projects referencing the plugin package\n  and all extension packages via `file:`; prepare with `commands/extensions.py` before opening.\n- `tests/chain-fixtures/` — recorded tool-call fixtures for chain tests, compared byte-for-byte\n  (LF); re-recorded by the plugin's `Tests/Editor/Chain/ChainRecordTests.cs`, never hand-edited.\n- `commands/` — PowerShell/Python utility scripts (version bump, Unity tests, release notes).\n- `docs/` — README translations, dev docs (`docs/dev/`), agent detail docs (`docs/agents/`).\n- `memory/` — durable agent lessons (`memory/MEMORY.md` is the index).\n- `.github/workflows/`, `.github/scripts/` — CI/CD and its helper scripts.\n\n## Find detail in\n\n- [docs/agents/architecture.md](docs/agents/architecture.md) — SignalR bridge, main-thread execution, deterministic port hashing\n- [docs/agents/style.md](docs/agents/style.md) — coding conventions: `#nullable enable`, no reflection for private access, namespaces, copyright headers\n- [docs/agents/release.md](docs/agents/release.md) — release, versioning, CI/CD\n- [docs/agents/ci-unity-license.md](docs/agents/ci-unity-license.md) — Unity license for CI\n- [docs/agents/documentation-sync.md](docs/agents/documentation-sync.md) — README translation/copy sync requirements\n","isInternal":false,"tokens":763,"sizeBytes":3020},{"name":"copilot-instructions.md","path":".github/copilot-instructions.md","rawUrl":"https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.github/copilot-instructions.md","title":"GitHub Copilot Instructions","category":"copilot-instructions","format":"markdown","content":"# Project Guidelines\n\n## Critical Rules\n\n### No C# Reflection for Private Access\n\n**PROHIBITED**: Using `System.Reflection` to access private, internal, or otherwise non-public fields, properties, methods, or classes in project code. This includes `Type.GetType`, `BindingFlags.NonPublic`, `GetMethod`, `GetField`, `GetProperty`, and similar reflection APIs when used to bypass access modifiers.\n\n**Example of prohibited code:**\n```csharp\n// WRONG: Accessing internal Unity API via reflection\nvar logEntriesType = Type.GetType(\"UnityEditor.LogEntries, UnityEditor.CoreModule\")\n                  ?? Type.GetType(\"UnityEditorInternal.LogEntries, UnityEditor.CoreModule\")\n                  ?? Type.GetType(\"UnityEditor.LogEntries, UnityEditor\")\n                  ?? Type.GetType(\"UnityEditorInternal.LogEntries, UnityEditor\");\nlogEntriesType?.GetMethod(\"Clear\", BindingFlags.Static | BindingFlags.Public)\n              ?.Invoke(null, null);\n```\n\n> **Note**: This rule does NOT apply to `ReflectorNet` library usage, which is an external dependency specifically designed for reflection-based access patterns.\n\n## Code Review\n\nBefore performing any code review, you **MUST** read the project constitution: [`.specify/memory/constitution.md`](.specify/memory/constitution.md). All code review feedback must verify adherence to the principles defined in the constitution. Constitution principles supersede ad-hoc practices when conflicts arise.\n\n## Code Style\n- **C#**: Use 4 spaces indentation. PascalCase for classes/methods/properties, `_camelCase` for private readonly fields.\n    - Namespace: `com.IvanMurzak.Unity.MCP`.\n    - Example: [UnityMcpPlugin.cs](Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.cs).\n- **PowerShell**: Use K&R brace style.\n\n## Architecture\n- **Unity-MCP-Plugin**: Main Unity package.\n    - Core logic: [Packages/com.ivanmurzak.unity.mcp/Runtime](Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Runtime).\n    - Editor logic: `Packages/com.ivanmurzak.unity.mcp/Editor`.\n    - Tests: `Packages/com.ivanmurzak.unity.mcp/Tests`.\n- **MCP Server**: lives in the shared [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) repo (binary `gamedev-mcp-server`); the plugin downloads the release pinned by `McpServerManager.ServerVersion`.\n- **Installer**: [Installer/](Installer/) wraps the package installation.\n- **Unity-Tests**: [Unity-Tests/](Unity-Tests/) contains projects for different Unity versions (2022.3, 6000.0, 6000.3, 6000.6) linking locally to the Plugin.\n\n## Build and Test\n- **Plugin**:\n    - Auto-compiles in Unity.\n    - Run tests: [commands/run-unity-tests.ps1](commands/run-unity-tests.ps1).\n    - Editor Tests: `Packages/com.ivanmurzak.unity.mcp/Tests/Editor`.\n- **Server**: built and released from the shared [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) repo — not from this repo.\n- **Commands**: See [commands/](commands/) for utility scripts (release, tests).\n\n## Project Conventions\n- **MCP Tools**: Implemented using attributes in the Plugin. Reflection-based access via `ReflectorNet`.\n- **Documentation**:\n    - [Unity-MCP.wiki](Unity-MCP.wiki/) for user docs.\n    - [docs/](docs/) for translations and repo docs.\n    - See `AGENTS.md` (root and subdirectories) for agent notes.\n- **Versioning**: `package.json` in `Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/package.json`.\n\n## Integration Points\n- **Communication**: SignalR between Server and Plugin.\n- **Dependencies**: OpenUPM for external packages.\n\n## Security\n- **Server Transport**: Configurable via `--client-transport` (`stdio` or `streamableHttp`).\n","isInternal":false,"tokens":884,"sizeBytes":3635},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":199},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":185},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":178}],"systemPromptSnippet":"<yakaai_skills repo=\"IvanMurzak/Unity-MCP\">\n<!-- File: AGENTS.md (Tokens: ~763 | Category: root-instruction) -->\n# AGENTS.md\n\nUnity-MCP bridges LLMs (Claude, Cursor, Copilot, etc.) with the Unity Editor and Runtime via the\n[Model Context Protocol](https://modelcontextprotocol.io/).\n\nThe MCP server is NOT in this repo: the plugin consumes the shared\n[GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) (binary `gamedev-mcp-server`,\nrelease assets `gamedev-mcp-server-<rid>.zip`, Docker `aigamedeveloper/mcp-server`), one\nengine-agnostic server shared by Unity-MCP, Godot-MCP and Unreal-MCP. The plugin downloads the\nrelease pinned by the `ServerVersion` constant in\n`Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Editor/Scripts/McpServerManager.cs` (decoupled\nfrom the plugin version). Bumping the consumed server = changing that constant; the pinned\n`v<ServerVersion>` release (with all 7 RID zips) must exist BEFORE a plugin release that pins it.\n\n## Build / run\n\n- Bump version: `.\\commands\\bump-version.ps1 <version>`.\n- Releases happen only by manually dispatching `.github/workflows/release.yml`; merging a version\n  bump publishes nothing.\n- Unity `.meta` files: never hand-write them; Unity generates them on asset refresh.\n\n## Layout\n\n- `Unity-MCP-Plugin/` — the Unity project holding the UPM package `com.ivanmurzak.unity.mcp`\n  (all plugin code and its tests); see its `AGENTS.md`.\n- `cli/` — `unity-mcp-cli` npm package (TypeScript); see its `AGENTS.md`.\n- `extensions/` — ten optional UPM modules, independent component versions and signed releases.\n- `templates/extension/` — inert scaffold; shared tests/releases live in `commands/extensions.py` and `docs/dev/extensions.md`.\n- `Installer/` — Unity project that builds the installer `.unitypackage`.\n- `Unity-Tests/<unity-version>/` — per-Unity-version test projects referencing the plugin package\n  and all extension packages via `file:`; prepare with `commands/extensions.py` before opening.\n- `tests/chain-fixtures/` — recorded tool-call fixtures for chain tests, compared byte-for-byte\n  (LF); re-recorded by the plugin's `Tests/Editor/Chain/ChainRecordTests.cs`, never hand-edited.\n- `commands/` — PowerShell/Python utility scripts (version bump, Unity tests, release notes).\n- `docs/` — README translations, dev docs (`docs/dev/`), agent detail docs (`docs/agents/`).\n- `memory/` — durable agent lessons (`memory/MEMORY.md` is the index).\n- `.github/workflows/`, `.github/scripts/` — CI/CD and its helper scripts.\n\n## Find detail in\n\n- [docs/agents/architecture.md](docs/agents/architecture.md) — SignalR bridge, main-thread execution, deterministic port hashing\n- [docs/agents/style.md](docs/agents/style.md) — coding conventions: `#nullable enable`, no reflection for private access, namespaces, copyright headers\n- [docs/agents/release.md](docs/agents/release.md) — release, versioning, CI/CD\n- [docs/agents/ci-unity-license.md](docs/agents/ci-unity-license.md) — Unity license for CI\n- [docs/agents/documentation-sync.md](docs/agents/documentation-sync.md) — README translation/copy sync requirements\n\n<!-- File: .github/copilot-instructions.md (Tokens: ~884 | Category: copilot-instructions) -->\n# Project Guidelines\n\n## Critical Rules\n\n### No C# Reflection for Private Access\n\n**PROHIBITED**: Using `System.Reflection` to access private, internal, or otherwise non-public fields, properties, methods, or classes in project code. This includes `Type.GetType`, `BindingFlags.NonPublic`, `GetMethod`, `GetField`, `GetProperty`, and similar reflection APIs when used to bypass access modifiers.\n\n**Example of prohibited code:**\n```csharp\n// WRONG: Accessing internal Unity API via reflection\nvar logEntriesType = Type.GetType(\"UnityEditor.LogEntries, UnityEditor.CoreModule\")\n                  ?? Type.GetType(\"UnityEditorInternal.LogEntries, UnityEditor.CoreModule\")\n                  ?? Type.GetType(\"UnityEditor.LogEntries, UnityEditor\")\n                  ?? Type.GetType(\"UnityEditorInternal.LogEntries, UnityEditor\");\nlogEntriesType?.GetMethod(\"Clear\", BindingFlags.Static | BindingFlags.Public)\n              ?.Invoke(null, null);\n```\n\n> **Note**: This rule does NOT apply to `ReflectorNet` library usage, which is an external dependency specifically designed for reflection-based access patterns.\n\n## Code Review\n\nBefore performing any code review, you **MUST** read the project constitution: [`.specify/memory/constitution.md`](.specify/memory/constitution.md). All code review feedback must verify adherence to the principles defined in the constitution. Constitution principles supersede ad-hoc practices when conflicts arise.\n\n## Code Style\n- **C#**: Use 4 spaces indentation. PascalCase for classes/methods/properties, `_camelCase` for private readonly fields.\n    - Namespace: `com.IvanMurzak.Unity.MCP`.\n    - Example: [UnityMcpPlugin.cs](Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.cs).\n- **PowerShell**: Use K&R brace style.\n\n## Architecture\n- **Unity-MCP-Plugin**: Main Unity package.\n    - Core logic: [Packages/com.ivanmurzak.unity.mcp/Runtime](Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/Runtime).\n    - Editor logic: `Packages/com.ivanmurzak.unity.mcp/Editor`.\n    - Tests: `Packages/com.ivanmurzak.unity.mcp/Tests`.\n- **MCP Server**: lives in the shared [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) repo (binary `gamedev-mcp-server`); the plugin downloads the release pinned by `McpServerManager.ServerVersion`.\n- **Installer**: [Installer/](Installer/) wraps the package installation.\n- **Unity-Tests**: [Unity-Tests/](Unity-Tests/) contains projects for different Unity versions (2022.3, 6000.0, 6000.3, 6000.6) linking locally to the Plugin.\n\n## Build and Test\n- **Plugin**:\n    - Auto-compiles in Unity.\n    - Run tests: [commands/run-unity-tests.ps1](commands/run-unity-tests.ps1).\n    - Editor Tests: `Packages/com.ivanmurzak.unity.mcp/Tests/Editor`.\n- **Server**: built and released from the shared [GameDev-MCP-Server](https://github.com/IvanMurzak/GameDev-MCP-Server) repo — not from this repo.\n- **Commands**: See [commands/](commands/) for utility scripts (release, tests).\n\n## Project Conventions\n- **MCP Tools**: Implemented using attributes in the Plugin. Reflection-based access via `ReflectorNet`.\n- **Documentation**:\n    - [Unity-MCP.wiki](Unity-MCP.wiki/) for user docs.\n    - [docs/](docs/) for translations and repo docs.\n    - See `AGENTS.md` (root and subdirectories) for agent notes.\n- **Versioning**: `package.json` in `Unity-MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/package.json`.\n\n## Integration Points\n- **Communication**: SignalR between Server and Plugin.\n- **Dependencies**: OpenUPM for external packages.\n\n## Security\n- **Server Transport**: Configurable via `--client-transport` (`stdio` or `streamableHttp`).\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/IvanMurzak/Unity-MCP/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}