Configgy
Library mod for configuring other mods!
About this mod Author’s original text
Configgy
A library mod for configuring plugin data at runtime.
Disclaimer
This mod does more or less nothing on its own.
I haven't got around to making proper documentation for it yet.
Example usage
public class MyPlugin: BaseUnityPlugin
{
private ConfigBuilder config;
private void Awake()
{
config = new ConfigBuilder("MyName.MyPlugin", "My Plugin");
config.BuildAll(); //Generates config menu from any Configgable attribute tagged static fields in your plugin.
}
}
public class MyBehaviour: MonoBehaviour
{
//All of these will be automatically initialized when config.Build is called.
[Configgable]
private static float myFloat = 4f;
//A path and display name are optional.
[Configgable]
private static ConfigToggle myToggle = new ConfigToggle(true);
//Defines a path in the menu and a display name.
[Configgable("MySliders", "Slider That Controls Things")]
private static FloatSlider slider = new FloatSlider(1f, 0f, 1f);
[Configgable("MyStrings", "Important String")]
private static ConfigInputField stringField = new ConfigInputField("default String!");
private void Update()
{
//Prints current value of the slider.
Debug.Log(slider.Value);
}
}
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: