Skip to content

Codex/issue 613 vscode extension marketplace#807

Open
ignusloki wants to merge 14 commits into
IvanMurzak:mainfrom
ignusloki:codex/issue-613-vscode-extension-marketplace
Open

Codex/issue 613 vscode extension marketplace#807
ignusloki wants to merge 14 commits into
IvanMurzak:mainfrom
ignusloki:codex/issue-613-vscode-extension-marketplace

Conversation

@ignusloki
Copy link
Copy Markdown

Summary

Addresses #613 by adding an initial VS Code extension for Unity MCP in vscode-extension/.

This PR creates a locally packageable, Marketplace-ready extension workspace that reduces the current manual VS Code MCP setup flow and gives users a guided UX directly inside VS Code.

What’s included

  • new vscode-extension/ package
  • Activity Bar dashboard for Unity MCP
  • status bar readiness indicator
  • Workspace Trust-aware behavior
  • Unity project detection
  • Unity MCP plugin detection from Packages/manifest.json
  • Unity MCP project config detection from UserSettings/AI-Game-Developer-Config.json
  • .vscode/mcp.json detection and generation via shared unity-mcp-cli logic
  • Unity MCP: Check Status
  • Unity MCP: Configure Project
  • Unity MCP: Install Plugin
  • Unity MCP: Open Unity
  • Unity MCP: Show Output
  • guided next-step recommendations in both the dashboard and status flow
  • local VSIX packaging support and Marketplace metadata/docs
  • support, development, and publishing handoff documentation

Design goals

  • reuse existing shared logic instead of duplicating setup behavior
  • keep write actions explicit
  • keep untrusted workspaces read-only
  • avoid telemetry
  • make setup and debugging clearer for end users and maintainers

Validation

Automated:

  • npm run build
  • npm test
  • npm run package:vsix

Manual:

  • validated in the Extension Development Host
  • validated from an installed local VSIX
  • tested plugin installation into a Unity project
  • tested Unity import/compile after plugin install
  • tested VS Code MCP config generation
  • tested status reporting and dashboard refresh behavior
  • tested Unity plain launch
  • tested Unity MCP-connected launch
  • tested first-run fallback when Unity project config does not exist yet

Docs included

  • vscode-extension/README.md
  • vscode-extension/SUPPORT.md
  • vscode-extension/DEVELOPMENT.md
  • vscode-extension/PUBLISHING.md

Notes

  • the current publisher value is a placeholder for local packaging/handoff only and should be replaced by the official maintainer account before Marketplace release
  • one intermittent Unity-side close was observed once during Configure Project after plugin installation/import, but it was not reproducible and did not block subsequent use; worth separate follow-up if it happens again

@ignusloki ignusloki requested a review from IvanMurzak as a code owner June 4, 2026 18:56
@IvanMurzak IvanMurzak requested a review from Copilot June 4, 2026 19:49
@IvanMurzak IvanMurzak added the enhancement New feature or request label Jun 4, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds a new, locally packageable and Marketplace-ready VS Code extension workspace (vscode-extension/) to guide Unity MCP setup directly in VS Code and reduce manual configuration steps (addresses #613).

Changes:

  • Introduces a VS Code extension with an Activity Bar dashboard, status bar readiness indicator, and commands for status/configure/install/open/output flows.
  • Adds workspace/project inspection logic (Unity markers, plugin detection, Unity config + .vscode/mcp.json detection) and reuses shared unity-mcp-cli setup/install/open logic via an adapter.
  • Adds Vitest coverage for status/config parsing, dashboard state mapping, and CLI adapter behavior, plus packaging/docs scaffolding.

Reviewed changes

Copilot reviewed 23 out of 27 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
vscode-extension/tsconfig.json TypeScript build configuration for the extension.
vscode-extension/src/workspace.ts Multi-root workspace folder selection helpers.
vscode-extension/src/unityConfig.ts Reads/parses Unity MCP project config from UserSettings.
vscode-extension/src/unityConfig.test.ts Tests for Unity MCP project config parsing behavior.
vscode-extension/src/projectStatus.ts Workspace inspection + recommended next actions + status report formatting.
vscode-extension/src/projectStatus.test.ts Tests for project status detection and warnings/actions.
vscode-extension/src/logging.ts Output-channel logger with configurable log levels.
vscode-extension/src/extension.ts Extension activation, commands, trust gating, status bar + dashboard refresh orchestration.
vscode-extension/src/dashboard.ts Activity Bar webview dashboard rendering + action selection + status bar presentation mapping.
vscode-extension/src/dashboard.test.ts Tests for dashboard actions and status bar mapping.
vscode-extension/src/cliAdapter.ts Adapter around unity-mcp-cli for setup/install/open flows (with ESM loading workaround).
vscode-extension/src/cliAdapter.test.ts Tests verifying adapter calls and failure behavior.
vscode-extension/package.json Extension manifest: contributions, activation events, scripts, deps, Marketplace metadata.
vscode-extension/media/unity-mcp-activity.svg Activity Bar icon for the extension container.
vscode-extension/SUPPORT.md End-user support/debug guide for logs and common issues.
vscode-extension/README.md Extension usage, safety model, local VSIX packaging and guidance.
vscode-extension/PUBLISHING.md Maintainer checklist and handoff steps for Marketplace publishing.
vscode-extension/LICENSE.txt Apache-2.0 license text for the extension package.
vscode-extension/DEVELOPMENT.md Maintainer development workflow, architecture map, and testing guidance.
vscode-extension/CHANGELOG.md Initial changelog for 0.0.1.
vscode-extension/.vscodeignore Packaging exclusions for VSCE/VSIX outputs.
vscode-extension/.vscode/tasks.json Build task wiring for extension development.
vscode-extension/.vscode/launch.json Extension host launch config for debugging.
vscode-extension/.gitignore Extension-local ignores for build artifacts and VSIX.
.gitignore Adds .DS_Store ignore at repo root.

Comment thread vscode-extension/src/extension.ts
Comment thread vscode-extension/src/projectStatus.ts
Comment thread vscode-extension/src/dashboard.ts
Comment thread vscode-extension/README.md Outdated
Comment thread vscode-extension/DEVELOPMENT.md Outdated
Comment thread vscode-extension/DEVELOPMENT.md Outdated
Comment thread vscode-extension/PUBLISHING.md Outdated
Comment thread vscode-extension/src/unityConfig.ts Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 24 out of 28 changed files in this pull request and generated 5 comments.

Comment thread vscode-extension/src/projectStatus.ts
Comment thread vscode-extension/src/projectStatus.ts
Comment thread vscode-extension/src/extension.ts
Comment thread vscode-extension/src/extension.ts Outdated
Comment thread vscode-extension/src/cliAdapter.ts Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants