SettingPreset
public sealed class SettingPresetNamespace SideHustle
Added in 1.5.0
A named bundle of host-setting values a gamemode can offer as a one-click preset (e.g. “Classic Hunt”). Side Hustle shows a preset picker above the settings form; selecting one CASCADES its Values into the matching controls (matched by SettingDescriptor.Key), which the host can then still tweak. Values use the same wire format as the controls: a Slider’s number, a Toggle’s “1”/“0”, a Segmented’s stored value. Keys with no matching control are ignored (forward-compatible with not-yet-built settings).
Fields
Section titled “Fields”public string NameAdded in 1.5.0
Display name shown in the picker (e.g. “Classic Hunt”). Required.
public string HintAdded in 1.5.0
Optional one-line description shown under the picker while this preset is selected.
Values
Section titled “Values”public System.Collections.Generic.Dictionary<string, string> ValuesAdded in 1.5.0
The setting values this preset applies, keyed by SettingDescriptor.Key.
Value Each value in the control’s stored form, e.g. { "len", "10" }, { "pace", "f" }. Keys with no matching setting log a warning and are ignored. Null applies nothing.
Experimental
Section titled “Experimental”public bool ExperimentalAdded in 1.5.0
When true the picker marks this preset as experimental (a badge + sorted to the back) - use it for presets whose headline mechanic is not fully built yet.
Recommended
Section titled “Recommended”public string RecommendedAdded in 1.5.0
Optional human-readable player-count recommendation shown in the picker (e.g. “Best for 2-6”).
MinPlayers
Section titled “MinPlayers”public int MinPlayersAdded in 1.5.0
Player-count range this preset suits best. When the lobby size falls in [MinPlayers, MaxPlayers] the form may auto-select it on open. 0 = unspecified.
Value Inclusive player count, e.g. 2. The auto-select needs both ends above 0 and skips experimental presets. Among several fits the narrowest range wins.
MaxPlayers
Section titled “MaxPlayers”public int MaxPlayersAdded in 1.5.0
Upper end of the player-count range, inclusive, e.g. 4. 0 = unspecified. See MinPlayers.
public string ModeAdded in 1.5.0
Canonical “mode” this preset represents (e.g. “Infection”). When the host tweaks a preset, the effective mode shown to joiners becomes “Custom - {Mode}”. Defaults to Name when null.
DefaultSelected
Section titled “DefaultSelected”public bool DefaultSelectedAdded in 1.5.0
When true the form opens on this preset, overriding the player-count best-fit. Used for a saved “Custom” preset that should be pre-selected next time the host opens the form.