Skip to main content

Configuration

JsonConfigStore reads and writes Config.json in the application directory. JSON properties use PascalCase and are read case-insensitively

Close the launcher before editing the file manually and preserve unrelated fields. The following fragment illustrates common preferences, not a complete replacement file

{
"Language": "en-US",
"CloseAfterLaunch": false,
"UseCustomJava": false,
"JavaArguments": "-Xms2G -Xmx4G",
"GpuPreference": "auto",
"OnlineMode": false
}

Selection and authentication

KeyDefaultMeaning
Version2.0.0Configuration schema version, not the launcher release
SelectedInstanceIdemptyCurrent instance ID
SelectedProfileIdemptyActive profile ID
OnlineModetrueUse a connected authentication service for local profiles
AuthDomainsessions.sanasol.wsConnected local-profile session service
AuthServers[]User-added authentication service domains available in Network settings
CurseForgeKeyemptyAPI key prepared during bootstrap when missing

Official profiles always use official authentication and do not show the Auth Server editor. For unofficial profiles, the Network settings list appears only while Connected mode is enabled. The built-in sessions.sanasol.ws entry is always listed; AuthServers stores additional user-added entries and AuthDomain stores the selected value. The desktop checks each listed server with the game-session authentication API and records no availability result in configuration. Local Node chooses a free port from 8443–9999 on 127.0.0.1; neither the address nor its per-launch port is stored in this file

Launch settings

KeyDefaultMeaning
CloseAfterLaunchfalseClose Desktop after successful process start
UseCustomJavafalseUse the executable in CustomJavaPath
CustomJavaPathemptyPath to the Java executable
JavaArgumentsemptyExtra JVM arguments and UI-managed heap options
GpuPreferencededicatedAutomatic, legacy adapter type, or a specific adapter key
GameEnvironmentVariablesemptyNewline-separated KEY=VALUE assignments

GPU values include auto, legacy dedicated and integrated, or pci:<id> when available and an adapter name otherwise. Platform adapters translate the selection into supported launch overrides

Interface and storage

KeyDefaultMeaning
Languageen-USUI culture
MusicEnabledtruePersisted background music preference
ShowDiscordAnnouncementstruePersisted announcement preference
DismissedAnnouncementIds[]Previously dismissed announcement IDs
DisableNewsfalseNews disabled preference
InstanceDirectoryemptyDefault instance root, or a custom path
ShowAlphaModsfalseInclude alpha mod releases
LastExportPathemptyRemembered mod export destination
HasCompletedOnboardingfalseCompatibility state for onboarding

A persisted property does not imply a completed Desktop workflow. The current onboarding and instance log viewer remain unfinished

Compatibility

Profile names, UUIDs, and sessions belong in Profiles, not Config.json. Loading older data migrates Nick, UUID, Profiles, and ActiveProfileIndex into the profile store

Instances, VersionType, and SelectedVersion remain compatibility fields. PreferredMirror is obsolete and ignored; source selection is automatic

Environment overrides

VariableScope
HYPRISM_DATAExisting directory used as the full application data root
XDG_DATA_HOMELinux default data root when HYPRISM_DATA is absent
HYPRISM_WIN32_COMPOSITIONWindows rendering diagnostic override, see performance
HYPRISM_DOCS_SCREENSHOTSOpt-in output directory for documentation captures

The managed launch also supplies Java, DualAuth, GPU, and local certificate variables to child processes. Those runtime values are not independent launcher settings

Source: Config

Edit this page on GitHub