Configuration 
Introduction 
This feature was introduced in v3.2.
This page serves as a guide on how to configure Milthm via editing the configuration file.
The Milthm configuration file is written in the TOML format, which is simple to learn and use, allowing for easy configuration.
Find the Configuration File 
Refer to the Unity Documentation.
The config.toml file can be found at:
| OS or Platform | Path | 
|---|---|
| Windows | %AppData%\..\LocalLow\Morizero\Milthm\config.toml | 
| Linux | ~/.config/unity3d/Morizero/Milthm/config.toml | 
| macOS | ~/Library/Application Support/Morizero/Milthm/config.toml | 
| Android (Google Play) | /storage/emulated/<userid>/Android/data/com.morizero.milthm/files/config.toml | 
| Android (Taptap) | /storage/emulated/<userid>/Android/data/game.taptap.morizero.milthm/files/config.toml | 
| iOS | Use the system's builtin Files app and find Milthm. | 
DANGER
Carefully read the documentation below before modifying the configuration file!
Configurations 
There are a few sections in the configuration, including GeneralSetting, GameplaySetting, AudioSetting, and VideoSetting. Some settings are platform-specific.
GeneralSetting 
| Key | Type | Platform | Description | 
|---|---|---|---|
| Language | string | 'auto' | All | The game's UI language based on BCP-47 tag. If auto, uses system locale list. Defaults to English if no match is found. | 
GameplaySetting 
| Key | Type | Platform | Description | 
|---|---|---|---|
| NoteFlowSpeed | double | All | Note flow speed, clamped to [0, 1] | 
| NoteSize | double | All | Note size, clamped to [0, 1] | 
| HighlightChord | boolean | All | Highlight chords | 
| DisableHitSound | boolean | All | Disable hit sounds | 
| HitSoundSetID | 0 | 1 | 2 | 3 | 4 | All | Select hit sound set | 
| EnableHitBiasIndicator | boolean | All | Enable hit bias indicator | 
| EnableAdLibEffect | boolean | All | Enable ripple effect on click | 
| BackgroundDim | double | All | Background dim level, clamped to [0, 1] | 
| TimeSavingRetryPolicy | 'SingleClick' | 'DoubleClick' | All | Skip chart blank on retry | 
| SongTitlePolicy | See description below | All | Song title display policy | 
SongTitlePolicy Options 
- CultureFriendly
- AlwaysOriginal
- AlwaysLatin
- AlwaysBoth
- CultureGreedy
AudioSetting 
| Key | Type | Platform | Description | 
|---|---|---|---|
| BGMVolume | double | All | BGM volume, clamped to [0, 1.5] | 
| HitVolume | double | All | Hit sound volume, clamped to [0, 1.5] | 
| UIVolume | double | All | UI sound volume, clamped to [0, 1.5] | 
| PlayOnFocusLoss | boolean | Desktop | Keep playing when app loses focus | 
| ActivatedDevice | AudioDeviceInfo | Desktop | Selected output audio device | 
| DeviceSettings | Array<AudioDeviceSetting> | All | Historical device settings | 
AudioDeviceInfo 
Here’s the description of the AudioDeviceInfo interface in the format you requested:
| Key | Type | Platform | Description | 
|---|---|---|---|
| deviceType | string | 'auto' | All | The type of the audio device backend or API. Examples: 'CoreAudio','ASIO','WASAPI', or'auto'for automatic selection. | 
| deviceName | string | 'auto' | All | The name of the audio device as reported by the system or driver. Examples: 'HUAWEI USB-C HEADSET', or'auto'for automatic selection. | 
AudioDeviceSetting 
| Key | Type | Platform | Description | 
|---|---|---|---|
| deviceType | string | All | The type of the audio device backend or API. Example values: 'CoreAudio','ASIO','WASAPI'. | 
| deviceName | string | All | The name of the specific audio device. Example: 'HUAWEI USB-C HEADSET'. | 
| bufferSize | number | All | The audio buffer size in the number of samples. A smaller buffer reduces latency but increases CPU load. | 
| offset | number | All | The visual offset in seconds to synchronize with this device, compensating for audio processing latency. Example: 0.01(10ms delay). | 
VideoSetting 
| Key | Type | Platform | Description | 
|---|---|---|---|
| FrameRate | int | 0 | -1 | All | FPS setting; 0=auto, -1=unlimited | 
| EnableVSync | bool | Desktop | Enable/disable VSync | 
| Resolution | string | Desktop | Resolution format or fullscreen | 
| RenderWithinSafeArea | bool | Android | iOS | Render within screen safe area | 
| EnableLowResolution | bool | Android | iOS | Toggle low resolution mode | 
| LowResolutionScale | float | Android | iOS | Scale factor [0.25, 1] for low-res | 
| FitGamePlayScreenRatio | bool | Android | iOS | Adjust screen to ratio | 
| GraphicsBackend | 'auto' | 'OpenGL' | 'Vulkan' | Android | Select graphics backend | 
NetworkSetting 
Since version v3.0.0, Milthm requires a network connection for full functionality.
NetworkSetting.GeneralHttpClient 
| Key | Type | Platform | Description | 
|---|---|---|---|
| NetworkEnvironmentCheckTimeout | Duration | All | Timeout for checking network availability | 
NetworkSetting.MilthmHttpClient 
| Key | Type | Platform | Description | 
|---|---|---|---|
| GeneralTimeout | Duration | All | Max wait time for HTTP requests | 
| OnlineConfigurationRetrievingTimeout | Duration | All | Max wait time for fetching online config | 
Duration 
Describe a duration with format 1h2m3s.
Valid time units are "s", "m", "h".