Adds a new 'get_component' action that retrieves a single component's
serialized data instead of all components, improving efficiency and
avoiding token limits when only specific component data is needed.
- Simplify validation to reject 'name' parameter whenever present for find action
- Remove ambiguity when both 'name' and 'search_term' are provided
- Update error message to clarify that 'name' should be removed
- Prevent silent failures when using 'name' instead of 'search_term' for find action
- Add clear error messages guiding users to correct parameter usage
- Validate that 'search_term' is only used with 'find' action
- Update parameter annotations to clarify when each parameter should be used
* refactor: migrate command routing to use CommandRegistry lookup instead of switch statement
* style: improve code formatting and indentation consistency
* refactor: clean up imports and type hints across tool modules
* Revert "feat: Implement Asset Store Compliance for Unity MCP Bridge"
This reverts commit 2fca7fc3da.
* Revert "feat(asset-store): implement post-installation prompt system for Asset Store compliance"
This reverts commit ab25a71bc5.
* chore: upgrade mcp[cli] dependency from 1.4.1 to 1.15.0
* style: fix formatting and whitespace in Python server files
* Remove description, probably a Python versionn change
* feat: add type hints and parameter descriptions to Unity MCP tools
* docs: improve shader management tool parameter descriptions and types
* refactor: add type annotations and improve documentation for script management tools
* refactor: improve type annotations and documentation in manage_scene tool
* refactor: add type annotations and improve parameter descriptions across MCP tools
* feat: add explicit name parameters to all MCP tool decorators
* refactor: remove unused Unity connection instance in manage_asset_tools
* chore: update type hints in manage_editor function parameters for better clarity
* feat: make name and path parameters optional for scene management operations
* refactor: remove unused get_unity_connection import from manage_asset.py
* chore: rename Operation parameter annotation to Operations for consistency
* feat: add logging to MCP clients for tool actions across MCP server components
* chore: add FastMCP type hint to register_all_tools parameter
* style: reformat docstring in apply_text_edits tool to use multiline string syntax
* refactor: update type hints from Dict/List/Tuple/Optional to modern Python syntax
* refactor: clean up imports and add type annotations to script editing tools
* refactor: update type hints to use | None syntax for optional parameters
* Minor fixes
* docs: improve tool descriptions with clearer action explanations
* refactor: remove legacy update action migration code from manage_script.py
* style: replace em dashes with regular hyphens in tool descriptions [skip ci]
* refactor: convert manage_script_capabilities docstring to multiline format [skip ci]
* Revert "feat: Implement Asset Store Compliance for Unity MCP Bridge"
This reverts commit 2fca7fc3da.
* Revert "feat(asset-store): implement post-installation prompt system for Asset Store compliance"
This reverts commit ab25a71bc5.
* refactor: remove unused UnityEngine references from menu item classes
* Add new tools to manage a prefab, particularly, making them staged.
This might be enough, but it's possible we may have to extract some logic from ManageGameObject
* feat: add AssetPathUtility for asset path normalization and update references in ManageAsset and ManagePrefabs
* feat: add prefab management tools and register them with the MCP server
* feat: update prefab management commands to use 'prefabPath' and add 'create_from_gameobject' action
* fix: update parameter references to 'prefabPath' in ManagePrefabs and manage_prefabs tools
* fix: clarify error message for missing 'prefabPath' in create_from_gameobject command
* fix: ensure pull request triggers for unity tests workflow
* Revert "fix: ensure pull request triggers for unity tests workflow"
This reverts commit 10bfe54b5b7f3c449852b1bf1bb72f498289a1a0.
* Remove delayed execution of executing menu item, fixing #279
This brings the Unity window into focus but that seems to be a better UX for devs.
Also streamline manage_menu_item tool info, as FastMCP recommends
* docs: clarify menu item tool description with guidance to use list action first
* feat: add version update for server_version.txt in bump-version workflow
* fix: simplify error message for failed menu item execution
* feat: add Codex CLI client support with config.toml handling
* feat: add config helpers for managing Codex and MCP server configurations
* feat: add TOML array parsing support for multi-line and trailing comma formats
* fix: handle TOML inline comments in section headers during parsing
* fix: strip TOML comments before processing section headers
* fix: improve JSON parsing to handle escaped single quotes in config strings
* Use Tommy for TOML parsing
It's a single file and OSS, easy to integrate into Unity
* fix: patched Tommy’s literal-string handling so doubled single quotes inside literal strings are treated as embedded apostrophes instead of prematurely ending the value
* Don't overwrite MCP configs while testing
Seeing random JSON in my codex config was pretty annoying
* PR Feedback
* Keep Tommy compatible with Unity 2021
* Re-include Tommy's license
Probably a good habit to keep all 3rd party licenses and copyrights, even if they're also MIT licenses
Add comprehensive dependency detection system with cross-platform support:
- DependencyManager: Main orchestrator for dependency validation
- SetupWizard: Auto-trigger logic with InitializeOnLoad
- SetupWizardWindow: Complete EditorWindow implementation
- Platform detectors: Windows, macOS, Linux specific detection
- InstallationOrchestrator: Guided installation workflow
Asset Store compliance features:
- No bundled Python interpreter or UV package manager
- User-guided installation process with platform-specific instructions
- Clean package structure without large binary dependencies
- Fallback modes for incomplete installations
- Clear error messages with actionable guidance
Integration:
- Maintains backward compatibility with existing functionality
- Integrates with existing ServerInstaller and MCP infrastructure
- Adds menu items for manual setup wizard access and dependency checking
- Comprehensive error handling and user guidance
Current Windows command does not work on some machines such like mine. Copy and paste the command from Astral website to ensure the installation process go smoothly.
* Move the current test to a Tools folder
* feat: add env object and disabled flag handling for MCP client configuration
* Format manual config specially for Windsurf and Kiro
* refactor: extract config JSON building logic into dedicated ConfigJsonBuilder class
* refactor: extract unity node population logic into centralized helper method
* refactor: only add env property to config for Windsurf and Kiro clients
If it ain't broke with the other clients, don't fix...
* fix: write UTF-8 without BOM encoding for config files to avoid Windows compatibility issues
* fix: enforce UTF-8 encoding without BOM when writing files to disk
* refactor: replace execute_menu_item with enhanced manage_menu_item tool supporting list/exists/refresh
* Update meta files for older Unity versions
* test: add unit tests for menu item management and execution
* feat: add tips for paths, script compilation, and menu item usage in asset creation strategy
* Use McpLog functionality instead of Unity's Debug
* Add telemetry
* Annotate parameters
More info to LLMs + better validation
* Remove the refresh command
It's only ever useful in the context of listing menu items
* Updated meta files since running in Unity 2021
* Slightly better README
* fix: rename server-version.txt to server_version.txt and update menu item description
- config: point telemetry_endpoint to Cloud Run default
- telemetry: log effective endpoint/timeout; reject localhost endpoints
- server: telemetry logger at normal level with rotating file; default timeout=5s when unset
- Logging to stderr with force; quiet httpx/urllib3
- Async lifespan fix; defer telemetry in first second
- Bounded telemetry queue with single worker
- Reduce initial Unity connect timeout to 1s
- Keep server_version in file
- Detect and clean up legacy server installations in LocalApplicationData
- Prevents accumulation of old server copies during package updates
- Improves cleanup of Windows-specific legacy installation paths
- README path separators (todo in separate doc commit)
- manage_gameobject: pop prefabFolder not prefab_folder
- execute_menu_item: make sync to avoid blocking event loop
- telemetry: validate endpoint scheme (allow http/https only) and re-validate at send time
- Add server-side integer coercion for numeric parameters in all tools
- Fix parameter type validation issues (read_resource, find_in_file, read_console, manage_scene, manage_asset)
- Add proper tool descriptions with ctx parameter documentation
- Fix Context type annotations (use Context instead of Any for ctx)
- All tools now accept flexible numeric inputs (strings, floats) and coerce to integers
- Telemetry system working with all tool_execution events captured in BigQuery
- Remove invalid parameter type warnings from client-side validation