@@ -26,6 +26,7 @@ public class McpAdvancedSection
2626 private Button clearGitUrlButton ;
2727 private Toggle debugLogsToggle ;
2828 private Toggle devModeForceRefreshToggle ;
29+ private Toggle useBetaServerToggle ;
2930 private TextField deploySourcePath ;
3031 private Button browseDeploySourceButton ;
3132 private Button clearDeploySourceButton ;
@@ -42,6 +43,7 @@ public class McpAdvancedSection
4243 public event Action OnGitUrlChanged ;
4344 public event Action OnHttpServerCommandUpdateRequested ;
4445 public event Action OnTestConnectionRequested ;
46+ public event Action < bool > OnBetaModeChanged ;
4547
4648 public VisualElement Root { get ; private set ; }
4749
@@ -64,6 +66,7 @@ private void CacheUIElements()
6466 clearGitUrlButton = Root . Q < Button > ( "clear-git-url-button" ) ;
6567 debugLogsToggle = Root . Q < Toggle > ( "debug-logs-toggle" ) ;
6668 devModeForceRefreshToggle = Root . Q < Toggle > ( "dev-mode-force-refresh-toggle" ) ;
69+ useBetaServerToggle = Root . Q < Toggle > ( "use-beta-server-toggle" ) ;
6770 deploySourcePath = Root . Q < TextField > ( "deploy-source-path" ) ;
6871 browseDeploySourceButton = Root . Q < Button > ( "browse-deploy-source-button" ) ;
6972 clearDeploySourceButton = Root . Q < Button > ( "clear-deploy-source-button" ) ;
@@ -98,6 +101,13 @@ private void InitializeUI()
98101 if ( forceRefreshLabel != null )
99102 forceRefreshLabel . tooltip = devModeForceRefreshToggle . tooltip ;
100103 }
104+ if ( useBetaServerToggle != null )
105+ {
106+ useBetaServerToggle . tooltip = "When enabled, uvx will fetch the latest beta server version from PyPI. Enable this on the beta branch to get the matching server version." ;
107+ var betaServerLabel = useBetaServerToggle ? . parent ? . Q < Label > ( ) ;
108+ if ( betaServerLabel != null )
109+ betaServerLabel . tooltip = useBetaServerToggle . tooltip ;
110+ }
101111 if ( testConnectionButton != null )
102112 testConnectionButton . tooltip = "Test the connection between Unity and the MCP server." ;
103113 if ( deploySourcePath != null )
@@ -128,6 +138,7 @@ private void InitializeUI()
128138 McpLog . SetDebugLoggingEnabled ( debugEnabled ) ;
129139
130140 devModeForceRefreshToggle . value = EditorPrefs . GetBool ( EditorPrefKeys . DevModeForceServerRefresh , false ) ;
141+ useBetaServerToggle . value = EditorPrefs . GetBool ( EditorPrefKeys . UseBetaServer , true ) ;
131142 UpdatePathOverrides ( ) ;
132143 UpdateDeploymentSection ( ) ;
133144 }
@@ -172,6 +183,13 @@ private void RegisterCallbacks()
172183 OnHttpServerCommandUpdateRequested ? . Invoke ( ) ;
173184 } ) ;
174185
186+ useBetaServerToggle . RegisterValueChangedCallback ( evt =>
187+ {
188+ EditorPrefs . SetBool ( EditorPrefKeys . UseBetaServer , evt . newValue ) ;
189+ OnHttpServerCommandUpdateRequested ? . Invoke ( ) ;
190+ OnBetaModeChanged ? . Invoke ( evt . newValue ) ;
191+ } ) ;
192+
175193 deploySourcePath . RegisterValueChangedCallback ( evt =>
176194 {
177195 string path = evt . newValue ? . Trim ( ) ;
@@ -274,6 +292,7 @@ public void UpdatePathOverrides()
274292 gitUrlOverride . value = EditorPrefs . GetString ( EditorPrefKeys . GitUrlOverride , "" ) ;
275293 debugLogsToggle . value = EditorPrefs . GetBool ( EditorPrefKeys . DebugLogs , false ) ;
276294 devModeForceRefreshToggle . value = EditorPrefs . GetBool ( EditorPrefKeys . DevModeForceServerRefresh , false ) ;
295+ useBetaServerToggle . value = EditorPrefs . GetBool ( EditorPrefKeys . UseBetaServer , true ) ;
277296 UpdateDeploymentSection ( ) ;
278297 }
279298
0 commit comments