UBImGui
A plugin that allows mod developers to use Dear ImGui in Unity.
About this mod Author’s original text
UBImGui
A plugin that allows mod developers to use Dear ImGui in Unity.
Supports DX12, DX11 and Vulkan.
Based on the UBImGui repo by MasterSix997.\
Guide for Modders
First add this mod dll as a project reference for your mod. Then you can add a dependency to the mod to ensure your mod runs after UBImGui.
[BepInDependency("com.snosz.ubimgui", BepInDependency.DependencyFlags.HardDependency)]
An example window.
using ImGuiNET;
using UnityEngine;
public class SimpleWindow: MonoBehaviour
{
private void OnEnable()
{
ImGui.Layout += OnLayout;
}
private void OnDisable()
{
ImGui.Layout -= OnLayout;
}
// Fields to be used in the window
private bool enableFields;
// As this string is not serialized (public or [SerializeField]), it is necessary to initialize it before using
private string textValue = "";
private float sliderValue;
private Vector3 vector3Value;
private void OnLayout()
{
// Begin a new window called "Simple Window"
// If the window is collapsed, there is no need to create widgets (no need to call ImGui.End())
if (ImGui.Begin("Simple Window"))
{
// Add some text to the window
ImGui.Text("Im a text");
// If the button is clicked, log a message to the console
if (ImGui.Button("Click Me!"))
{
Debug.Log("Thanks:)");
}
// Add a checkbox to enable/disable fields
ImGui.Checkbox("Toggle Fields", ref enableFields);
// If fields are enabled, add widgets
if (enableFields)
{
// Add input fields for text, slider, and vector3
ImGui.InputText("Text Field", ref textValue, 100);
ImGui.SliderFloat("Slider Field", ref sliderValue, 0, 100);
ImGui.SliderFloat3("Vector3 Field", ref vector3Value, -10, 10);
}
// End the "Simple Window"
ImGui.End();
}
}
}
More info is in the original repo.
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: