SettingsObject architecture.
Settings Architecture
Prism Launcher’s settings system is built on several key components:Setting Types
Global Settings
Default values applied to all instances unless overridden.
Override Settings
Instance-specific values that take precedence over global settings.
Passthrough Settings
Conditional settings controlled by a gate setting.
Global Settings
Access global settings through the main Settings menu:General Settings
Launcher Configuration
Launcher Configuration
- Language: Interface language selection
- Theme: Light, Dark, or System theme
- Instance Directory: Where instances are stored
- Icon Theme: Icon set for the launcher
- Show Console: Whether to show console on launch
- Console Max Lines: Maximum log lines to keep
Update Settings
Update Settings
- Check for Updates: Automatic update checking
- Update Channel: Release, Beta, or Development
- Auto-update: Automatically download updates
Java Settings
Global Java configuration (see Java Setup Guide for details):- Java Installation: Default Java path
- Memory Allocation: Default min/max memory
- JVM Arguments: Default Java arguments
- Auto Java Download: Enable automatic Java installation
Account Settings
Manage Minecraft accounts:- Add Account: Sign in with Microsoft account
- Default Account: Account used when launching
- Account List: Manage multiple accounts
- Auto-login: Automatically use default account
Network Settings
Connectivity Options
Connectivity Options
- Proxy Settings: HTTP/SOCKS proxy configuration
- Download Threads: Concurrent download connections
- Connection Timeout: Network timeout duration
- User Agent: Custom user agent string
API Keys
Configure platform API keys:- CurseForge API Key: For mod downloads
- Modrinth API Key: Optional, improves rate limits
- Custom API Keys: For other services
Instance Settings
Each instance can override global settings:Accessing Instance Settings
Instance-Specific Settings
- Java Settings
- Game Settings
- Console Settings
- Performance Settings
Override Java configuration:Instance overrides:
- Java installation path
- Memory allocation (min/max)
- JVM arguments
- Wrapper command
Useful for instances with different memory requirements or Java version needs.
Settings Persistence
Settings are automatically saved to configuration files:Global Settings Storage
Instance Settings Storage
Settings Save Operations
Lock RAII class manages save suspension:
Advanced Settings Management
Programmatic Settings Access
Setting Signals
Settings emit signals on change:Override System
Create instance overrides:Passthrough Settings
Conditional value passthrough:INI File Settings
For advanced use, settings use INI file backend:INI File Structure
Platform-Specific Settings
macOS Sandboxing
On macOS, Prism handles sandboxed file access:- Store security-scoped bookmarks
- Enable access to user-selected folders
- Persist across launches
Windows-Specific
- Registry integration for Java detection
- Windows-specific JVM arguments
- Desktop shortcut creation settings
Linux-Specific
- XDG base directory compliance
- Desktop entry creation
- System theme integration
Common Settings Configurations
Optimal Performance Setup
Optimal Performance Setup
Global settings:
- Java: Latest version for your Minecraft
- Memory: 4-8GB for modded, 2-4GB vanilla
- JVM Args:
-XX:+UseG1GC -XX:+UnlockExperimentalVMOptions
- High-end modpacks: 8GB+ RAM
- Lightweight instances: 2GB RAM
Multi-Account Setup
Multi-Account Setup
- Add all accounts in Settings → Accounts
- Set default account for quick launch
- Use instance-specific accounts via pre-launch scripts
- Enable auto-login for convenience
Development Instance
Development Instance
Instance overrides:
- Enable console auto-show
- Reduce memory allocation for faster restarts
- Add debug JVM arguments
- Set custom wrapper for profiling
Server-Side Instance
Server-Side Instance
- Disable client-side mods
- Increase memory allocation
- Set nogui game argument
- Configure auto-restart via wrapper
Best Practices
Use Overrides Sparingly
Only override instance settings when truly needed. Global defaults are easier to manage.
Document Custom Settings
Use instance notes to document why specific overrides were needed.
Backup Settings
Regularly backup your Prism Launcher directory, including all settings files.
Test After Changes
Always test instances after changing settings, especially Java or memory configuration.
Troubleshooting
Settings Not Saving
If settings don’t persist:- Check Permissions: Ensure write access to config directory
- Check Disk Space: Verify sufficient disk space
- Lock Issues: Ensure no other Prism instance is running
- Corrupted Config: Delete and recreate settings file
Override Not Working
If instance override isn’t applying:- Verify Override Enabled: Check “Override global settings” is checked
- Check Gate Setting: Ensure override gate setting is true
- Restart Instance: Close and reopen instance editor
- Check instance.cfg: Verify override settings are written
Settings Reset on Launch
If settings revert after restart:- File Permissions: Check config files aren’t read-only
- Concurrent Instances: Don’t run multiple Prism instances
- Sync Conflicts: Disable cloud sync for config folder
- Save Timing: Ensure proper shutdown (not force-killed)
Cannot Find Setting
If a setting isn’t visible:- Check Launcher Version: Some settings are version-specific
- Advanced Settings: May be in advanced/experimental section
- Instance Type: Some settings only apply to certain instance types
- Platform-Specific: Setting may not be available on your OS
