From 03ed78caefbca9c7fd7b406d1d0b130c4226c98f Mon Sep 17 00:00:00 2001 From: Marcus Sanatan Date: Fri, 1 Aug 2025 08:12:07 -0400 Subject: [PATCH 1/2] feat: add Windsurf IDE support with configuration paths and UI instructions --- .gitignore | 2 ++ UnityMcpBridge/Editor/Data/McpClients.cs | 18 ++++++++++++++++++ UnityMcpBridge/Editor/Models/McpTypes.cs | 3 ++- .../Editor/Windows/ManualConfigEditorWindow.cs | 7 +++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f1d2443b..10cfc262 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ # AI-related files .cursorrules .cursorignore +.windsurf +.codeiumignore CLAUDE.md # Code-copy related files diff --git a/UnityMcpBridge/Editor/Data/McpClients.cs b/UnityMcpBridge/Editor/Data/McpClients.cs index dec53c8c..aa97d337 100644 --- a/UnityMcpBridge/Editor/Data/McpClients.cs +++ b/UnityMcpBridge/Editor/Data/McpClients.cs @@ -77,6 +77,24 @@ public class McpClients mcpType = McpTypes.VSCode, configStatus = "Not Configured", }, + new() + { + name = "Windsurf", + windowsConfigPath = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), + ".codeium", + "windsurf", + "mcp_config.json" + ), + linuxConfigPath = Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), + ".codeium", + "windsurf", + "mcp_config.json" + ), + mcpType = McpTypes.Windsurf, + configStatus = "Not Configured", + }, }; // Initialize status enums after construction diff --git a/UnityMcpBridge/Editor/Models/McpTypes.cs b/UnityMcpBridge/Editor/Models/McpTypes.cs index cb691a2a..0e7a18a5 100644 --- a/UnityMcpBridge/Editor/Models/McpTypes.cs +++ b/UnityMcpBridge/Editor/Models/McpTypes.cs @@ -2,10 +2,11 @@ namespace UnityMcpBridge.Editor.Models { public enum McpTypes { + ClaudeCode, ClaudeDesktop, Cursor, VSCode, - ClaudeCode, + Windsurf, } } diff --git a/UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs b/UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs index 89f60990..8cdf0dca 100644 --- a/UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs +++ b/UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs @@ -87,6 +87,13 @@ protected virtual void OnGUI() instructionStyle ); } + else if (mcpClient.mcpType == McpTypes.Windsurf) + { + EditorGUILayout.LabelField( + " a) Going to File > Preferences > Windsurf Settings > MCP > Manage MCPs -> View raw config", + instructionStyle + ); + } EditorGUILayout.LabelField(" OR", instructionStyle); EditorGUILayout.LabelField( " b) Opening the configuration file at:", From 1a7e92f62b41ec9fa06fd26a367c0c5976503971 Mon Sep 17 00:00:00 2001 From: Marcus Sanatan Date: Fri, 1 Aug 2025 08:20:52 -0400 Subject: [PATCH 2/2] Add safeguard for null refs Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --- UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs b/UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs index 8cdf0dca..4590d40f 100644 --- a/UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs +++ b/UnityMcpBridge/Editor/Windows/ManualConfigEditorWindow.cs @@ -87,7 +87,7 @@ protected virtual void OnGUI() instructionStyle ); } - else if (mcpClient.mcpType == McpTypes.Windsurf) + else if (mcpClient?.mcpType == McpTypes.Windsurf) { EditorGUILayout.LabelField( " a) Going to File > Preferences > Windsurf Settings > MCP > Manage MCPs -> View raw config",