Skip to content

Commit ab25a71

Browse files
feat(asset-store): implement post-installation prompt system for Asset Store compliance
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
1 parent 6e72b33 commit ab25a71

File tree

152 files changed

+24523
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+24523
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Asset Store Compliance Feature Development
2+
3+
## Project: Unity MCP Bridge
4+
5+
### Compliance Objectives
6+
- Separate Python server dependencies
7+
- Create clean package structure
8+
- Implement dependency management wizard
9+
- Ensure Asset Store submission readiness
10+
11+
### Key Development Areas
12+
1. UnityMcpBridge/Editor/
13+
- Refactor dependency management
14+
- Create setup wizard
15+
- Implement optional dependency prompting
16+
17+
2. Package Structure
18+
- Modularize server dependencies
19+
- Create clear installation paths
20+
- Support optional component installation
21+
22+
3. Dependency Management System
23+
- Detect existing Python environments
24+
- Provide guided installation steps
25+
- Support multiple Python version compatibility
26+
27+
4. Setup Wizard Requirements
28+
- Detect Unity project Python configuration
29+
- Offer manual and automatic setup modes
30+
- Provide clear user guidance
31+
- Validate Python environment
32+
33+
### Technical Constraints
34+
- Maintain existing Unity MCP Bridge functionality
35+
- Minimize additional package size
36+
- Support cross-platform compatibility
37+
- Provide clear user documentation
38+
39+
### Development Workflow
40+
- Isolated worktree for focused development
41+
- Incremental feature implementation
42+
- Comprehensive testing
43+
- Asset Store submission preparation
Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
# Unity MCP Bridge - Asset Store Compliance Implementation
2+
3+
## Overview
4+
5+
This implementation provides a comprehensive post-installation prompt system for Unity MCP Bridge that ensures Asset Store compliance while maintaining full functionality. The system guides users through dependency installation and setup without bundling external dependencies in the package.
6+
7+
## Key Features
8+
9+
### 1. Dependency Detection System
10+
- **Cross-platform detection** for Windows, macOS, and Linux
11+
- **Intelligent path resolution** for Python and UV installations
12+
- **Version validation** to ensure compatibility
13+
- **Comprehensive diagnostics** for troubleshooting
14+
15+
### 2. Setup Wizard System
16+
- **Automatic triggering** on first use or when dependencies are missing
17+
- **Progressive disclosure** with step-by-step guidance
18+
- **Persistent state management** to avoid repeated prompts
19+
- **Manual invocation** via Window menu
20+
21+
### 3. Installation Orchestrator
22+
- **Guided installation workflow** with progress tracking
23+
- **Asset Store compliant** - no automatic downloads of external tools
24+
- **Clear instructions** for manual installation
25+
- **Fallback modes** for incomplete installations
26+
27+
### 4. Asset Store Compliance
28+
- **No bundled Python dependencies** in package structure
29+
- **External server distribution** strategy
30+
- **Clean package structure** without embedded executables
31+
- **User-guided installation** process
32+
33+
## Architecture
34+
35+
### Core Components
36+
37+
```
38+
UnityMcpBridge/Editor/
39+
├── Dependencies/
40+
│ ├── DependencyManager.cs # Main orchestrator
41+
│ ├── Models/
42+
│ │ ├── DependencyStatus.cs # Status representation
43+
│ │ ├── DependencyCheckResult.cs # Check results
44+
│ │ └── SetupState.cs # Persistent state
45+
│ └── PlatformDetectors/
46+
│ ├── IPlatformDetector.cs # Platform interface
47+
│ ├── WindowsPlatformDetector.cs
48+
│ ├── MacOSPlatformDetector.cs
49+
│ └── LinuxPlatformDetector.cs
50+
├── Setup/
51+
│ ├── SetupWizard.cs # Auto-trigger logic
52+
│ └── SetupWizardWindow.cs # UI implementation
53+
└── Installation/
54+
└── InstallationOrchestrator.cs # Installation workflow
55+
```
56+
57+
### Integration Points
58+
59+
The system integrates seamlessly with existing Unity MCP Bridge components:
60+
61+
- **ServerInstaller**: Enhanced with dependency validation
62+
- **MCPForUnityBridge**: Maintains existing functionality
63+
- **Menu System**: New setup options in Window menu
64+
- **Logging**: Uses existing McpLog infrastructure
65+
66+
## User Experience Flow
67+
68+
### First-Time Setup
69+
1. **Automatic Detection**: System checks for dependencies on first load
70+
2. **Setup Wizard**: Shows if dependencies are missing
71+
3. **Guided Installation**: Step-by-step instructions for each platform
72+
4. **Validation**: Confirms successful installation
73+
5. **Completion**: Marks setup as complete to avoid repeated prompts
74+
75+
### Ongoing Usage
76+
- **Background Checks**: Periodic validation of dependency availability
77+
- **Error Recovery**: Helpful messages when dependencies become unavailable
78+
- **Manual Access**: Setup wizard available via Window menu
79+
- **Diagnostics**: Comprehensive dependency information for troubleshooting
80+
81+
## Asset Store Compliance Features
82+
83+
### No Bundled Dependencies
84+
- Python interpreter not included in package
85+
- UV package manager not included in package
86+
- MCP server distributed separately (embedded in package as source only)
87+
88+
### User-Guided Installation
89+
- Platform-specific installation instructions
90+
- Direct links to official installation sources
91+
- Clear error messages with actionable guidance
92+
- Fallback modes for partial installations
93+
94+
### Clean Package Structure
95+
- No executable files in package
96+
- No large binary dependencies
97+
- Minimal package size impact
98+
- Clear separation of concerns
99+
100+
## Platform Support
101+
102+
### Windows
103+
- **Python Detection**: Microsoft Store, python.org, and PATH resolution
104+
- **UV Detection**: WinGet, direct installation, and PATH resolution
105+
- **Installation Guidance**: PowerShell commands and direct download links
106+
107+
### macOS
108+
- **Python Detection**: Homebrew, Framework, system, and PATH resolution
109+
- **UV Detection**: Homebrew, curl installation, and PATH resolution
110+
- **Installation Guidance**: Homebrew commands and curl scripts
111+
112+
### Linux
113+
- **Python Detection**: Package managers, snap, and PATH resolution
114+
- **UV Detection**: curl installation and PATH resolution
115+
- **Installation Guidance**: Distribution-specific package manager commands
116+
117+
## Error Handling
118+
119+
### Graceful Degradation
120+
- System continues to function with missing optional dependencies
121+
- Clear error messages for missing required dependencies
122+
- Fallback modes for partial installations
123+
- Recovery suggestions for common issues
124+
125+
### Comprehensive Diagnostics
126+
- Detailed dependency status information
127+
- Platform-specific troubleshooting guidance
128+
- Version compatibility checking
129+
- Path resolution diagnostics
130+
131+
## Testing Strategy
132+
133+
### Unit Testing
134+
- Platform detector validation
135+
- Dependency status modeling
136+
- Setup state persistence
137+
- Error condition handling
138+
139+
### Integration Testing
140+
- End-to-end setup workflow
141+
- Cross-platform compatibility
142+
- Existing functionality preservation
143+
- Performance impact assessment
144+
145+
### User Acceptance Testing
146+
- First-time user experience
147+
- Setup wizard usability
148+
- Error recovery scenarios
149+
- Documentation clarity
150+
151+
## Performance Considerations
152+
153+
### Minimal Impact
154+
- Lazy loading of dependency checks
155+
- Cached results where appropriate
156+
- Background processing for non-critical operations
157+
- Efficient platform detection
158+
159+
### Resource Usage
160+
- Minimal memory footprint
161+
- No persistent background processes
162+
- Efficient file system operations
163+
- Optimized UI rendering
164+
165+
## Future Enhancements
166+
167+
### Planned Features
168+
- **Automatic Updates**: Notification system for dependency updates
169+
- **Advanced Diagnostics**: More detailed system information
170+
- **Custom Installation Paths**: Support for non-standard installations
171+
- **Offline Mode**: Enhanced functionality without internet access
172+
173+
### Extensibility
174+
- **Plugin Architecture**: Support for additional dependency types
175+
- **Custom Detectors**: User-defined detection logic
176+
- **Integration APIs**: Programmatic access to dependency system
177+
- **Event System**: Hooks for custom setup workflows
178+
179+
## Migration Strategy
180+
181+
### Existing Users
182+
- Automatic detection of existing installations
183+
- Seamless upgrade path from previous versions
184+
- Preservation of existing configuration
185+
- Optional re-setup for enhanced features
186+
187+
### New Users
188+
- Guided onboarding experience
189+
- Clear setup requirements
190+
- Comprehensive documentation
191+
- Community support resources
192+
193+
## Documentation
194+
195+
### User Documentation
196+
- Setup guide for each platform
197+
- Troubleshooting common issues
198+
- FAQ for dependency management
199+
- Video tutorials for complex setups
200+
201+
### Developer Documentation
202+
- API reference for dependency system
203+
- Extension guide for custom detectors
204+
- Integration examples
205+
- Best practices guide
206+
207+
## Support and Maintenance
208+
209+
### Issue Resolution
210+
- Comprehensive logging for debugging
211+
- Diagnostic information collection
212+
- Platform-specific troubleshooting
213+
- Community support channels
214+
215+
### Updates and Patches
216+
- Backward compatibility maintenance
217+
- Security update procedures
218+
- Performance optimization
219+
- Feature enhancement process
220+
221+
This implementation ensures Unity MCP Bridge meets Asset Store requirements while providing an excellent user experience for dependency management and setup.

0 commit comments

Comments
 (0)