Settings Window
The SoapKit Settings Window provides a centralized interface for configuring performance settings, accessing tools, and managing editor behavior during development and gameplay.
Opening the Settings Windowβ
Access the Settings Window through multiple paths:
- Window Menu:
Window > SoapKit > Settings - Tools Menu:
Tools > SoapKit > βοΈ Settings - Debug Window: Click the βοΈ Settings button in the toolbar
- Scene Overlay: Use the "βοΈ Performance Settings" button
Interface Overviewβ

The Settings Window is organized into several sections:
Performance Settingsβ
Configure how SoapKit editor tools behave during different development phases:
Debug Window Settingsβ
- Disable Debug Window Updates During Play Mode: Stops auto-refresh and live monitoring during gameplay to improve performance
- Debug Refresh Interval: Controls how often debug windows refresh their data (0.5-10 seconds)
Performance Monitoring Settingsβ
- Disable Performance Monitoring During Play Mode: Stops performance analyzer real-time updates during gameplay
Tools Quick Accessβ
Direct access buttons to all SoapKit editor tools:
π Debug Window π Performance Analyzer
π― Asset Creator π Dependency Visualizer
Current Statusβ
Real-time display of:
- Play Mode Status: Shows whether you're in Play Mode or Edit Mode
- Performance Optimizations: Lists which optimizations are currently active
- Settings Changes: Indicates when settings have been modified
Preset Actionsβ
Quick configuration presets for common scenarios:
π Performance Modeβ
Optimizes all settings for smooth gameplay:
- Disables debug window updates during play mode
- Disables performance monitoring during play mode
- Sets refresh interval to 3 seconds
π§ Development Modeβ
Enables all debugging features:
- Enables all real-time monitoring
- Sets refresh interval to 1 second
- Full debugging capabilities active
Other Actionsβ
- π Reset to Defaults: Restores factory settings
- πΎ Export Settings: Save current configuration to JSON file
- π₯ Import Settings: Load configuration from JSON file
Performance Impactβ
Understanding when and why to use different settings:
During Development (Edit Mode)β
- All tools are fully active
- Real-time monitoring provides immediate feedback
- Performance impact is minimal as game isn't running
During Gameplay Testing (Play Mode)β
- Performance optimizations automatically activate
- Debug tools reduce their update frequency
- Maintains smooth gameplay while preserving essential debugging
Performance Comparisonβ
| Setting | Edit Mode Impact | Play Mode Impact | Recommended Use |
|---|---|---|---|
| All Optimizations Enabled | None | Minimal | Production testing |
| Development Mode | Low | Medium | Active debugging |
| Default Settings | None | Low | General development |
Settings Persistenceβ
All settings are automatically saved and persist between Unity sessions using Unity's EditorPrefs system:
// Settings are stored with the prefix "SoapKit_"
EditorPrefs.GetBool("SoapKit_DisableDebugDuringPlayMode", true);
Import/Exportβ
Exporting Settingsβ
- Click πΎ Export Settings
- Choose save location
- Settings saved as human-readable JSON
Importing Settingsβ
- Click π₯ Import Settings
- Select JSON file
- Settings applied immediately
Settings File Formatβ
{
"disableDebugDuringPlay": true,
"disablePerformanceDuringPlay": true,
"refreshInterval": 2.0
}
Visual Indicatorsβ
The Settings Window provides real-time visual feedback:
Status Colorsβ
- π’ Green: Performance optimizations active
- π‘ Yellow: Settings recently changed
- π΄ Red: Tool actively consuming resources
Icons and Badgesβ
- βΆοΈ: Play Mode active
- βΈοΈ: Edit Mode active
- β : Optimization enabled
- π₯: Tool running at full capacity
Integration with Other Toolsβ
Debug Window Integrationβ
- Settings button in toolbar provides quick access
- Performance mode indicator shows current state
- Live monitoring respects performance settings
Performance Analyzer Integrationβ
- Monitoring automatically pauses based on settings
- Visual indicators show when monitoring is disabled
- Settings accessible from analyzer toolbar
Best Practicesβ
For Solo Developmentβ
- Use Development Mode during active debugging
- Switch to Performance Mode for gameplay testing
- Export settings when finding optimal configuration
For Team Developmentβ
- Share settings files across team members
- Document team-specific performance configurations
- Use consistent settings for build validation
For Different Project Phasesβ
Early Developmentβ
- Full monitoring enabled
- Low refresh intervals for immediate feedback
- All debugging tools active
Late Development/Polishingβ
- Performance optimizations enabled
- Focus on gameplay smoothness
- Minimal debugging overhead
Pre-Productionβ
- Maximum performance settings
- Disable all non-essential monitoring
- Focus on final optimization
Troubleshootingβ
Settings Not Savingβ
- Check Unity console for permission errors
- Verify disk space availability
- Reset to defaults and reconfigure
Performance Still Poorβ
- Ensure Performance Mode is active
- Check for other Unity editor extensions
- Consider closing unused SoapKit windows
Import Failsβ
- Verify JSON file format
- Check file path accessibility
- Use Export to see correct format example
API Accessβ
Access settings programmatically through SOAPEditorSettings:
// Check current settings
bool debugDisabled = SOAPEditorSettings.DisableDebugDuringPlayMode;
float interval = SOAPEditorSettings.DebugRefreshInterval;
// Modify settings
SOAPEditorSettings.DisablePerformanceMonitoringDuringPlayMode = true;
SOAPEditorSettings.DebugRefreshInterval = 5.0f;
See Alsoβ
- Debug Window - Main debugging interface
- Performance Analyzer - Performance monitoring tool
- Performance Guide - Optimization techniques
- Best Practices - Development guidelines