unity-mcp/MCPForUnity/Editor/Helpers
dsarno 17c6a36c8d
feat: Add beta server mode with PyPI pre-release support (#640)
* feat: add TestPyPI toggle for pre-release server package testing

- Add UseTestPyPI editor preference key
- Add TestPyPI toggle to Advanced settings UI with tooltip
- Configure uvx to use test.pypi.org when TestPyPI mode enabled
- Skip version pinning in TestPyPI mode to get latest pre-release
- Update ConfigJsonBuilder to handle TestPyPI index URL

* Update .meta file

* fix: Use PyPI pre-release versions instead of TestPyPI for beta server

TestPyPI has polluted packages (broken httpx, mcp, fastapi) that cause
server startup failures. Switch to publishing beta versions directly to
PyPI as pre-releases (e.g., 9.3.0b20260127).

Key changes:
- beta-release.yml: Publish to PyPI instead of TestPyPI, use beta suffix
- Use --prerelease explicit with version specifier (>=0.0.0a0) to only
  get prereleases of our package, not broken dependency prereleases
- Default "Use Beta Server" toggle to true on beta branch
- Rename UI label from "Use TestPyPI" to "Use Beta Server"
- Add UseTestPyPI to EditorPrefsWindow known prefs
- Add search field and refresh button to EditorPrefsWindow

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat: Add beta mode indicator to UI badge and server version logging

- Show "β" suffix on version badge when beta server mode is enabled
- Badge updates dynamically when toggle changes
- Add server version to startup log: "MCP for Unity Server v9.2.0 starting up"
- Add version field to /health endpoint response

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* refactor: Rename UseTestPyPI to UseBetaServer and fix EditorPrefs margin

- Rename EditorPref key from UseTestPyPI to UseBetaServer for clarity
- Rename all related variables and UXML element names
- Increase bottom margin on EditorPrefs search bar to prevent clipping first entry

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* refactor: Address code review feedback

- Centralize beta server uvx args in AssetPathUtility.GetBetaServerFromArgs()
  to avoid duplication between HTTP and stdio transports
- Cache server version at startup instead of calling get_package_version()
  on every /health request
- Add robustness to beta version parsing in workflow: strip existing
  pre-release suffix and validate X.Y.Z format before parsing

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Prioritize explicit fromUrl override and optimize search filter

- GetBetaServerFromArgs/GetBetaServerFromArgsList now check for explicit
  GitUrlOverride before applying beta server mode, ensuring local dev
  paths and custom URLs are honored
- EditorPrefsWindow search filter uses IndexOf with OrdinalIgnoreCase
  instead of ToLowerInvariant().Contains() for fewer allocations

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Marcus Sanatan <msanatan@gmail.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-27 11:34:11 -08:00
..
AssetPathUtility.cs feat: Add beta server mode with PyPI pre-release support (#640) 2026-01-27 11:34:11 -08:00
AssetPathUtility.cs.meta Rename plugin folder to MCPForUnity (#303) 2025-10-03 20:23:28 -04:00
CodexConfigHelper.cs fix: comprehensive performance optimizations, claude code config, and stability improvements (issue #577) (#595) 2026-01-20 18:11:25 -08:00
CodexConfigHelper.cs.meta Rename plugin folder to MCPForUnity (#303) 2025-10-03 20:23:28 -04:00
ComponentOps.cs Fix manage_components set_property for object references (#551) 2026-01-13 22:23:18 -08:00
ComponentOps.cs.meta 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
ConfigJsonBuilder.cs feat: Add beta server mode with PyPI pre-release support (#640) 2026-01-27 11:34:11 -08:00
ConfigJsonBuilder.cs.meta Rename plugin folder to MCPForUnity (#303) 2025-10-03 20:23:28 -04:00
ExecPath.cs fix: resolve Claude Code HTTP Remote UV path override not being detected in System Requirements .#550 2026-01-17 18:34:40 -05:00
ExecPath.cs.meta Add .meta files (#472) 2025-12-19 18:59:19 -04:00
GameObjectLookup.cs feat: improve editor window UI + add transport mismatch warning (#613) 2026-01-22 22:48:03 -08:00
GameObjectLookup.cs.meta 🎮 GameObject Toolset Redesign and Streamlining (#518) 2026-01-06 10:13:45 -08:00
GameObjectSerializer.cs fix: Add special handling for UIDocument serialization to prevent infinite loops (#586) 2026-01-19 08:21:36 -08:00
GameObjectSerializer.cs.meta Rename plugin folder to MCPForUnity (#303) 2025-10-03 20:23:28 -04:00
HttpEndpointUtility.cs Remove distribution settings scriptable object (#473) 2025-12-19 19:11:54 -04:00
HttpEndpointUtility.cs.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
MaterialOps.cs Asset store helper script + updated README (#521) 2026-01-07 01:33:20 -04:00
MaterialOps.cs.meta feat: Add `manage_material` tool for dedicated material manipulation (#440) 2025-12-07 19:39:52 -08:00
McpConfigurationHelper.cs Asset store helper script + updated README (#521) 2026-01-07 01:33:20 -04:00
McpConfigurationHelper.cs.meta Rename plugin folder to MCPForUnity (#303) 2025-10-03 20:23:28 -04:00
McpJobStateStore.cs HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
McpJobStateStore.cs.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
McpLog.cs Fix manage prefabs (#405) 2025-11-28 18:47:11 -04:00
McpLog.cs.meta Add .meta files (#472) 2025-12-19 18:59:19 -04:00
ObjectResolver.cs Asset store helper script + updated README (#521) 2026-01-07 01:33:20 -04:00
ObjectResolver.cs.meta 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
Pagination.cs 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
Pagination.cs.meta 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
ParamCoercion.cs v9 pre-release pruning (#528) 2026-01-07 18:51:51 -04:00
ParamCoercion.cs.meta 🎮 GameObject Toolset Redesign and Streamlining (#518) 2026-01-06 10:13:45 -08:00
PortManager.cs Fix: Python Detection, Port Conflicts, and Script Creation Reliability (#428) 2025-12-04 13:19:42 -08:00
PortManager.cs.meta Add .meta files (#472) 2025-12-19 18:59:19 -04:00
PrefabUtilityHelper.cs feat: Prefab Feature Updates (#611) 2026-01-25 16:36:29 -08:00
PrefabUtilityHelper.cs.meta Add meta file for PrefabUtilityHelper (#630) 2026-01-25 20:00:35 -08:00
ProjectIdentityUtility.cs HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
ProjectIdentityUtility.cs.meta HTTP Server, uvx, C# only custom tools (#375) 2025-11-24 23:21:06 -04:00
PropertyConversion.cs Asset store helper script + updated README (#521) 2026-01-07 01:33:20 -04:00
PropertyConversion.cs.meta 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
RenderPipelineUtility.cs Token Optimization for VFX (#626) 2026-01-25 19:34:28 -05:00
RenderPipelineUtility.cs.meta [FIX] Temp Update on Material Assignment (#420) 2025-12-03 00:39:38 -05:00
RendererHelpers.cs Token Optimization for VFX (#626) 2026-01-25 19:34:28 -05:00
RendererHelpers.cs.meta [FEATURE]: Manage VFX function (#520) 2026-01-07 01:47:32 -05:00
Response.cs Fix manage prefabs (#405) 2025-11-28 18:47:11 -04:00
Response.cs.meta Rename plugin folder to MCPForUnity (#303) 2025-10-03 20:23:28 -04:00
TelemetryHelper.cs Fix manage prefabs (#405) 2025-11-28 18:47:11 -04:00
TelemetryHelper.cs.meta Add .meta files (#472) 2025-12-19 18:59:19 -04:00
TextureOps.cs [FEATURE] Procedural Texture2D/Sprite Generation (#621) 2026-01-24 17:09:07 -05:00
TextureOps.cs.meta [FEATURE] Procedural Texture2D/Sprite Generation (#621) 2026-01-24 17:09:07 -05:00
UnityJsonSerializer.cs 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
UnityJsonSerializer.cs.meta 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
UnityTypeResolver.cs 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
UnityTypeResolver.cs.meta 🔧 Clean up & Consolidate Shared Services Across MCP Tools (#519) 2026-01-06 12:58:17 -08:00
VectorParsing.cs v9 pre-release pruning (#528) 2026-01-07 18:51:51 -04:00
VectorParsing.cs.meta 🎮 GameObject Toolset Redesign and Streamlining (#518) 2026-01-06 10:13:45 -08:00