| Last updated | 4 days ago |
| Total downloads | 304 |
| Total rating | 0 |
| Categories | Libraries |
| Dependency string | Snosz-UBImGui-1.0.0 |
| Dependants | 2 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_PEAK
BepInEx pack for PEAK. Preconfigured and ready to use.
Preferred version: 5.4.75301README
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.
https://github.com/MasterSix997/UBImGui
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.