Skip to content

Commit 4995a50

Browse files
author
Claude
committed
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
1 parent f465156 commit 4995a50

File tree

3 files changed

+95
-23
lines changed

3 files changed

+95
-23
lines changed

UnityMcpBridge/Editor/Setup/SetupWizard.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ public static void ResetSetupState()
205205
/// <summary>
206206
/// Force show setup wizard (for manual invocation)
207207
/// </summary>
208-
[MenuItem("Window/MCP for Unity/Setup Wizard", priority = 1)]
208+
[MenuItem("Window/MCP for Unity/Setup Wizard (Required)", priority = 1)]
209209
public static void ShowSetupWizardManual()
210210
{
211211
ShowSetupWizard();

UnityMcpBridge/Editor/Setup/SetupWizardWindow.cs

Lines changed: 93 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,14 @@ private void DrawWelcomeStep()
110110
);
111111
EditorGUILayout.Space();
112112

113+
// IMPORTANT: Dependency requirement warning
114+
EditorGUILayout.HelpBox(
115+
"⚠️ IMPORTANT: This package CANNOT be used without installing the required dependencies first!\n\n" +
116+
"MCP for Unity requires external dependencies that must be manually installed on your system before it will function.",
117+
MessageType.Warning
118+
);
119+
EditorGUILayout.Space();
120+
113121
EditorGUILayout.LabelField("What is MCP for Unity?", EditorStyles.boldLabel);
114122
EditorGUILayout.LabelField(
115123
"MCP for Unity is a bridge that connects AI assistants like Claude Code, Cursor, and VSCode to your Unity Editor, " +
@@ -118,16 +126,25 @@ private void DrawWelcomeStep()
118126
);
119127
EditorGUILayout.Space();
120128

129+
EditorGUILayout.LabelField("REQUIRED Dependencies (Must be installed manually):", EditorStyles.boldLabel);
130+
var originalColor = GUI.color;
131+
GUI.color = Color.red;
132+
EditorGUILayout.LabelField("• Python 3.10 or later", EditorStyles.boldLabel);
133+
EditorGUILayout.LabelField("• UV package manager", EditorStyles.boldLabel);
134+
GUI.color = originalColor;
135+
EditorGUILayout.Space();
136+
121137
EditorGUILayout.LabelField("Setup Process:", EditorStyles.boldLabel);
122138
EditorGUILayout.LabelField("1. Check system dependencies (Python & UV)", EditorStyles.label);
123-
EditorGUILayout.LabelField("2. Get installation guidance if needed", EditorStyles.label);
139+
EditorGUILayout.LabelField("2. Install missing dependencies manually", EditorStyles.label);
124140
EditorGUILayout.LabelField("3. Configure your AI clients", EditorStyles.label);
125141
EditorGUILayout.LabelField("4. Start using AI assistance in Unity!", EditorStyles.label);
126142
EditorGUILayout.Space();
127143

128144
EditorGUILayout.HelpBox(
129-
"This wizard will guide you through each step. You can complete setup at your own pace.",
130-
MessageType.Info
145+
"This package will NOT work until you complete ALL dependency installation steps. " +
146+
"The wizard provides installation guidance, but you must install dependencies manually.",
147+
MessageType.Error
131148
);
132149
}
133150

@@ -166,8 +183,18 @@ private void DrawDependencyCheckStep()
166183
{
167184
EditorGUILayout.Space();
168185
EditorGUILayout.HelpBox(
169-
"Some dependencies are missing. The next step will help you install them.",
170-
MessageType.Warning
186+
"⚠️ CRITICAL: MCP for Unity CANNOT function with missing dependencies!\n\n" +
187+
"The package will not work until ALL required dependencies are manually installed on your system. " +
188+
"The next step provides installation guidance.",
189+
MessageType.Error
190+
);
191+
}
192+
else
193+
{
194+
EditorGUILayout.Space();
195+
EditorGUILayout.HelpBox(
196+
"✅ All dependencies detected! MCP for Unity can now function properly.",
197+
MessageType.Info
171198
);
172199
}
173200
}
@@ -231,9 +258,10 @@ private void DrawInstallationOptionsStep()
231258
EditorGUILayout.Space();
232259

233260
EditorGUILayout.HelpBox(
234-
"Please install the missing dependencies manually using the instructions below. " +
235-
"After installation, you can check dependencies again and proceed to client configuration.",
236-
MessageType.Warning
261+
"🚨 PACKAGE WILL NOT WORK: You MUST install the missing dependencies manually!\n\n" +
262+
"MCP for Unity cannot function without these dependencies. Follow the instructions below carefully. " +
263+
"After installation, check dependencies again to verify successful installation.",
264+
MessageType.Error
237265
);
238266
EditorGUILayout.Space();
239267

@@ -340,12 +368,32 @@ private void DrawCompleteStep()
340368
else
341369
{
342370
EditorGUILayout.HelpBox(
343-
"Setup incomplete. Some dependencies may still be missing. Please review the previous steps.",
344-
MessageType.Warning
371+
"🚨 SETUP INCOMPLETE - PACKAGE WILL NOT WORK!\n\n" +
372+
"MCP for Unity CANNOT function because required dependencies are still missing. " +
373+
"The package is non-functional until ALL dependencies are properly installed.",
374+
MessageType.Error
345375
);
346376

347377
EditorGUILayout.Space();
348-
if (GUILayout.Button("Go Back to Dependency Check"))
378+
EditorGUILayout.LabelField("Missing Dependencies:", EditorStyles.boldLabel);
379+
var missingDeps = _dependencyResult.GetMissingRequired();
380+
foreach (var dep in missingDeps)
381+
{
382+
var originalColor = GUI.color;
383+
GUI.color = Color.red;
384+
EditorGUILayout.LabelField($"✗ {dep.Name}", EditorStyles.boldLabel);
385+
GUI.color = originalColor;
386+
}
387+
388+
EditorGUILayout.Space();
389+
EditorGUILayout.HelpBox(
390+
"You must install ALL missing dependencies before MCP for Unity will work. " +
391+
"Go back to the installation guide and complete the required installations.",
392+
MessageType.Error
393+
);
394+
395+
EditorGUILayout.Space();
396+
if (GUILayout.Button("Go Back to Install Dependencies", GUILayout.Height(30)))
349397
{
350398
_currentStep = 1;
351399
}
@@ -364,17 +412,20 @@ private void DrawClientConfigurationStep()
364412
EditorGUILayout.Space();
365413

366414
// Check if dependencies are ready first
415+
_dependencyResult = DependencyManager.CheckAllDependencies(); // Refresh check
367416
if (!_dependencyResult.IsSystemReady)
368417
{
369418
EditorGUILayout.HelpBox(
370-
"Dependencies are not fully installed yet. Please complete dependency installation before configuring clients.",
371-
MessageType.Warning
419+
"🚨 CANNOT CONFIGURE CLIENTS: Dependencies are not installed!\n\n" +
420+
"MCP for Unity requires ALL dependencies to be installed before client configuration can work. " +
421+
"Please complete dependency installation first.",
422+
MessageType.Error
372423
);
373424

374-
if (GUILayout.Button("Go Back to Check Dependencies"))
425+
EditorGUILayout.Space();
426+
if (GUILayout.Button("Go Back to Install Dependencies", GUILayout.Height(30)))
375427
{
376428
_currentStep = 1; // Go back to dependency check
377-
_dependencyResult = DependencyManager.CheckAllDependencies();
378429
}
379430
return;
380431
}
@@ -546,9 +597,13 @@ private void DrawFooter()
546597
if (GUILayout.Button("Skip Setup"))
547598
{
548599
bool dismiss = EditorUtility.DisplayDialog(
549-
"Skip Setup",
550-
"Are you sure you want to skip the setup? You can run it again later from the Window menu.",
551-
"Skip",
600+
"Skip Setup - Package Will Not Work!",
601+
"⚠️ WARNING: If you skip setup, MCP for Unity will NOT function!\n\n" +
602+
"This package requires Python 3.10+ and UV package manager to work. " +
603+
"Without completing setup and installing dependencies, the package is completely non-functional.\n\n" +
604+
"You can run setup again later from Window > MCP for Unity > Setup Wizard.\n\n" +
605+
"Are you sure you want to skip setup and leave the package non-functional?",
606+
"Skip (Package Won't Work)",
552607
"Cancel"
553608
);
554609

@@ -562,13 +617,30 @@ private void DrawFooter()
562617
// Next/Finish button
563618
string nextButtonText = _currentStep == _stepTitles.Length - 1 ? "Finish" : "Next";
564619

620+
// Disable finish button if dependencies are missing
621+
bool canFinish = _currentStep != _stepTitles.Length - 1 || _dependencyResult.IsSystemReady;
622+
GUI.enabled = canFinish;
623+
565624
if (GUILayout.Button(nextButtonText))
566625
{
567626
if (_currentStep == _stepTitles.Length - 1)
568627
{
569-
// Finish setup
570-
SetupWizard.MarkSetupCompleted();
571-
Close();
628+
// Only allow finish if dependencies are ready
629+
if (_dependencyResult.IsSystemReady)
630+
{
631+
SetupWizard.MarkSetupCompleted();
632+
Close();
633+
}
634+
else
635+
{
636+
EditorUtility.DisplayDialog(
637+
"Cannot Complete Setup",
638+
"Cannot finish setup because required dependencies are still missing!\n\n" +
639+
"MCP for Unity will not work without ALL dependencies installed. " +
640+
"Please install Python 3.10+ and UV package manager first.",
641+
"OK"
642+
);
643+
}
572644
}
573645
else
574646
{

UnityMcpBridge/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "com.coplaydev.unity-mcp",
33
"version": "3.4.0",
44
"displayName": "MCP for Unity",
5-
"description": "A bridge that connects an LLM to Unity via the MCP (Model Context Protocol). This allows MCP Clients like Claude Desktop or Cursor to directly control your Unity Editor.\n\nJoin Our Discord: https://discord.gg/y4p8KfzrN4",
5+
"description": "⚠️ REQUIRES MANUAL DEPENDENCY INSTALLATION: This package CANNOT function without Python 3.10+ and UV package manager installed on your system first!\n\nA bridge that connects AI assistants to Unity via the MCP (Model Context Protocol). Allows MCP clients like Claude Code, Cursor, and VSCode to directly control your Unity Editor.\n\n🚨 IMPORTANT: You MUST manually install Python 3.10+ and UV package manager before this package will work. The setup wizard provides installation guidance.\n\nJoin Our Discord: https://discord.gg/y4p8KfzrN4",
66
"unity": "2021.3",
77
"documentationUrl": "https://github.com/CoplayDev/unity-mcp",
88
"licensesUrl": "https://github.com/CoplayDev/unity-mcp/blob/main/LICENSE",

0 commit comments

Comments
 (0)