

This library adds an ability to edit configs for mods (that support this) inside a lobby.


Dependency attribute [BepInDependency("com.KingEnderBrine.InLobbyConfig")]
Easiest (but limited) way to add config based on BepInEx config is to use helper method
var configEntry = InLobbyConfig.Fields.ConfigFieldUtilities.CreateFromBepInExConfigFile(Config, "Display name");
InLobbyConfig.ModConfigCatalog.Add(configEntry);
There is a special field. If your config has a bool field called Enabled (ignored case) it will be shown next to the mod name like so:

This behavior can be disabled if you add false to parameters for CreateFromBepInExConfigFile.
Or you can create InLobbyConfig.ModConfigEntry and add fields and section manually
var configEntry = new InLobbyConfig.ModConfigEntry();
configEntry.DisplayName = "Display name";
//configEntry.EnableField = new BooleanConfigField(...);
configEntry.SectionFields.Add("Section name", new List<IConfigField>
{
new InLobbyConfig.Fields.BooleanConfigField("display name", () => ConfigField.Value, (newValue) => ConfigField.Value = newValue),
InLobbyConfig.Fields.ConfigFieldUtilities.CreateFromBepInExConfigEntry<int>(ConfigField)
});
InLobbyConfig.ModConfigCatalog.Add(configEntry);
| Type | Field class |
|---|---|
| bool | BooleanConfigField |
| enum | EnumConfigField |
| int | IntConfigField |
| float | FloatConfigField |
| string | StringConfigField |
| UnityEngine.Color | ColorConfigField |
| Collection | SelectListField |
Or you can create your own ConfigField with your own prefab, for example:

Same as BaseConfigFiled +
onValueChange which called with every change. Value in config doesn't automatically change, this is up to you what you want to do with the changed value.Same as BaseInputConfigField +
Same as BaseConfigField +
Mandatory things that you need to create a custom config field:
InLobbyConfig.Fields.IConfigField (or inherits form InLobbyConfig.Fields.BaseConfigField<T>)InLobbyConfig.FieldControllers.ConfigFieldControllerConfigFieldController in a root objectFrom this point, you can do whatever you want. For examples of how I set up fields, you can go to InLobbyConfig GitHub or ArtifactsRandomizer GitHub.
1.3.2
ScrollableLobbyUI if it's installed1.3.1
1.3.0
1.2.1
InLobbyConfig.Fields.ConfigFieldUtilities.CreateFromBepInExConfigFile() parameters1.2.0
1.1.0
ArtifactRandomizer.1.0.2
1.0.1
1.0.0