Commit Graph

33 Commits (5bc51b6b1a07116c795ebe217b021b22c5a6ce27)

Author SHA1 Message Date
Justin Barnett 7c23f245ab
feat: Unity Asset Store compliance with post-installation dependency setup (#281)
* feat: implement Unity Asset Store compliance with post-installation dependency setup

- Remove bundled Python dependencies from Unity package
- Add comprehensive 6-step setup wizard with auto-trigger on first import
- Implement cross-platform dependency detection (Windows, macOS, Linux)
- Add integrated MCP client configuration within setup process
- Create production-ready menu structure with clean UI/UX
- Ensure complete end-to-end setup requiring no additional configuration
- Add comprehensive error handling and recovery mechanisms

This implementation ensures Asset Store compliance while maintaining full
functionality through guided user setup. Users are left 100% ready to use
MCP after completing the setup wizard.

* refactor: improve Asset Store compliance implementation with production-ready setup

- Remove automatic installation attempts on package import
- Always show setup wizard on package install/reinstall
- Integrate MCP client configuration as part of setup wizard process
- Ensure MCP client config window remains accessible via menu
- Remove testing components for production readiness
- Replace automatic installation with manual guidance only
- Add complete 4-step setup flow: Welcome → Dependencies → Installation Guide → Client Configuration → Complete
- Improve user experience with clear instructions and accessible client management

* feat: add comprehensive dependency requirement warnings

- Add critical warnings throughout setup wizard that package cannot function without dependencies
- Update package.json description to clearly state manual dependency installation requirement
- Prevent setup completion if dependencies are missing
- Enhance skip setup warning to emphasize package will be non-functional
- Add error messages explaining consequences of missing dependencies
- Update menu item to indicate setup wizard is required
- Ensure users understand package is completely non-functional without proper dependency installation

* refactor: simplify setup wizard for production

BREAKING: Reduced setup wizard from 5 steps to 3 streamlined steps:
- Step 1: Setup (welcome + dependency check + installation guide)
- Step 2: Configure (client configuration with direct access to full settings)
- Step 3: Complete (final status and quick access to resources)

Simplifications:
- Consolidated UI components with DRY helper methods (DrawSectionTitle, DrawSuccessStatus, DrawErrorStatus)
- Simplified dependency status display with clean icons and essential info
- Removed complex state management - using simple EditorPrefs instead
- Removed unused InstallationOrchestrator and SetupState classes
- Streamlined client configuration to direct users to full settings window
- Simplified navigation with back/skip/next buttons
- Reduced code complexity while maintaining solid principles

Results:
- 40% less code while maintaining all functionality
- Cleaner, more intuitive user flow
- Faster setup process with fewer clicks
- Production-ready simplicity
- Easier maintenance and debugging

* fix: add missing using statement for DependencyCheckResult

Add missing 'using MCPForUnity.Editor.Dependencies.Models;' to resolve
DependencyCheckResult type reference in SetupWizard.cs

* refactor: optimize dependency checks and remove dead code

* fix: remove unused DrawInstallationProgressStep method

Removes leftover method that references deleted _isInstalling and _installationStatus fields, fixing compilation errors.

* feat: improve setup wizard UX and add real client configuration

1. Remove dependency mentions from package.json description
2. Only show dependency warnings when dependencies are actually missing
3. Add actual MCP client configuration functionality within the wizard:
   - Client selection dropdown
   - Individual client configuration
   - Claude Code registration/unregistration
   - Batch configuration for all clients
   - Manual setup instructions
   - Real configuration file writing

Users can now complete full setup including client configuration without leaving the wizard.

* refactor: improve menu text and client restart tip

- Remove '(Required)' from Setup Wizard menu item for cleaner appearance
- Update tip to reflect that most AI clients auto-detect configuration changes

* refactor: simplify client restart tip message

* fix: add missing using statement for MCPForUnityEditorWindow

Add 'using MCPForUnity.Editor.Windows;' to resolve unresolved symbol error for MCPForUnityEditorWindow in SetupWizard.cs

* Format code

* Remove unused folders

* Same for validators

* Same for Setup...

* feat: add setup wizard persistence to avoid showing on subsequent imports

* fix: update Python version check to support Python 4+ across all platform detectors

* refactor: extract common platform detection logic into PlatformDetectorBase class

* feat: add configuration helpers for MCP client setup with sophisticated path resolution

* fix: add missing override keyword to DetectPython method in platform detectors

* fix: update menu item labels for consistent capitalization and naming

* fix: standardize "MCP For Unity" capitalization in window titles and dialogs

* refactor: update package ID from justinpbarnett to coplaydev across codebase

* refactor: remove unused validation and configuration helper methods

* refactor: remove unused warnOnLegacyPackageId parameter from TryFindEmbeddedServerSource

---------

Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Marcus Sanatan <msanatan@gmail.com>
2025-10-03 16:43:40 -04:00
GitHub Actions 47ec46ce93 chore: bump version to 4.1.1 2025-09-30 03:48:44 +00:00
GitHub Actions 048b1252de chore: bump version to 4.1.0 2025-09-27 17:53:28 +00:00
Marcus Sanatan af4ddf1dd6 Revert "chore: bump version to 4.1.0"
This reverts commit e76a7565e8.
2025-09-27 13:51:27 -04:00
GitHub Actions e76a7565e8 chore: bump version to 4.1.0 2025-09-27 17:50:17 +00:00
GitHub Actions e3cc99c3ab chore: bump version to 4.0.0 2025-09-26 23:32:09 +00:00
GitHub Actions 2a992117e2 chore: bump version to 3.4.0 2025-09-10 20:03:48 +00:00
GitHub Actions e219080576 chore: bump version to 3.3.2 2025-09-06 18:00:57 +00:00
GitHub Actions b7411e2cde chore: bump version to 3.3.1 2025-09-04 01:12:17 +00:00
GitHub Actions 65fdb4d090 chore: bump version to 3.3.0 2025-09-03 17:07:45 +00:00
GitHub Actions 43d1d91327 chore: bump version to 3.2.2 2025-09-02 22:23:58 +00:00
GitHub Actions 35e7d89cbc chore: bump version to 3.2.1 2025-09-02 16:44:15 +00:00
GitHub Actions f9c38da7c0 chore: bump version to 3.2.0 2025-09-02 16:37:30 +00:00
GitHub Actions ad848f06df chore: bump version to 3.1.0 2025-08-30 16:57:57 +00:00
GitHub Actions 22e8016aee chore: bump version to 3.0.2 2025-08-26 05:26:53 +00:00
David Sarno ee23346ca2 feat: installer cleanup, auto-migration, logging normalization 2025-08-23 22:13:47 -07:00
GitHub Actions 97fb4a775e chore: bump version to 3.0.0 2025-08-21 00:42:06 +00:00
Marcus Sanatan ae13ef41d5
Rename namespace and public facing plugin output from "Unity MCP" to "MCP for Unity" (#225)
* refactor: rename namespace from UnityMcpBridge to MCPForUnity across all files

See thread in #6, we can't use Unity MCP because it violates their trademark.
That name makes us look affiliated. We can use MCP for Unity

* Change package display name, menu item and menu titles

These are front facing so has to change for Unity asset store review

* Misc name changes in logs and comments for better consistency

* chore: update editor window title from 'MCP Editor' to 'MCP for Unity'

* refactor: update branding from UNITY-MCP to MCP-FOR-UNITY across all log messages and warnings

* chore: rename Unity MCP to MCP For Unity across all files and bump version to 2.1.2

* docs: update restore script title to clarify Unity MCP naming

* Fix usage instructions

* chore: update log messages to use MCP For Unity branding instead of UnityMCP

* Add a README inside plugin, required for distributing via the asset store

* docs: update Unity port description and fix typo in troubleshooting section

* Address Rabbit feedback

* Update Editor prefs to use new name

Prevents overlap with other Unity MCPs, happy to revert if it's too much

* refactor: rename server logger and identifier from unity-mcp-server to mcp-for-unity-server

* Standardize casing of renamed project to "MCP for Unity", as it is on the asset store

* Remove unused folder

* refactor: rename Unity MCP to MCP for Unity across codebase

* Update dangling references

* docs: update product name from UnityMCP to MCP for Unity in README

* Update log and comments for new name
2025-08-20 15:59:49 -04:00
Jos van der Westhuizen c9d30daf62
Update package.json -- add discord link 2025-08-15 10:08:24 -05:00
GitHub Actions 60a2ed4749 chore: bump version to 2.1.2 2025-08-14 23:19:31 +00:00
Marcus Sanatan ce39ca6d49 Revert "Bump version because we have a name change"
This reverts commit 148fa8b431.

We'll test the actions that bumps the version and tags the repo
2025-08-14 18:48:51 -04:00
Marcus Sanatan 148fa8b431 Bump version because we have a name change 2025-08-14 18:29:22 -04:00
Marcus Sanatan b735210d9d Update required Unity version and package name
Closes #213
2025-08-14 18:13:21 -04:00
David Sarno 616d3998b5 chore: bump package version to 2.1.1 2025-08-13 19:02:29 -07:00
David Sarno 4e1b905ea0 chore: bump version to 2.1.0; Windows uv resolver improvements; preserve existing uv command; Claude unregister UI fix; .ps1 handling; add generic mcp_source.py 2025-08-13 14:02:19 -07:00
David Sarno eb7b2e952e chore: bump Unity MCP Bridge package version 2025-08-12 21:09:02 -07:00
David Sarno 6b3a20dd78 chore(package): add .meta files for new helpers and bump version to 2.0.1 2025-08-12 10:34:34 -07:00
dsarno a506f9b346 Update package.json version to 2.0.0 2025-08-11 12:30:36 -07:00
Marcus Sanatan 3288418bbf chore: update package metadata and license to CoplayDev organization 2025-08-08 15:54:43 -04:00
Marcus Sanatan 94df819e61 fix: update package name from com.CoplayDev.unity-mcp to com.coplaydev.unity-mcp to comply with Unity package naming standards 2025-08-08 15:13:47 -04:00
Marcus Sanatan 5d148a7462 chore: update repository URLs and package name to use correct CoplayDev casing and main branch 2025-08-08 15:06:35 -04:00
Marcus Sanatan 6faa55f825 chore: update package namespace from justinpbarnett to coplaydev 2025-08-08 14:59:30 -04:00
Justin Barnett cb603b7b1a restructured project
- moved Unity package and Python application into separate folders to be
downloaded separately using clone .git/UnityMcpBridge
2025-04-08 06:14:13 -04:00