Source-checkedGameplay & overhauls

ZUIExampleMod

by Zanakinz · for V Rising

An example mod to test with ZUI.

282Downloads
9 mo agoLast updated
BepInExLoaders
ThunderstoreSource

About ZUIExampleMod

From Thunderstore

An example mod to test with ZUI.

ZUI Example Mod for VRising

A comprehensive example mod demonstrating how to use the ZUI API for VRising mods, including both legacy button integration and custom UI window creation.

Purpose: This mod showcases two different approaches to using ZUI - adding buttons to the main menu and creating fully custom UI windows.

Features

This example mod demonstrates:

  • Legacy Button Registration - Adding buttons to ZUI's main menu
  • Custom UI Windows - Creating your own standalone UI windows with custom layouts
  • UI Customization - Positioning elements, adding images, colored text, and more
  • Reflection-based API calls - Safe integration with ZUI as a soft dependency

Requirements

  • VRising game installed
  • BepInEx 6.0.0-be.733 (IL2CPP version)
  • ZUI Core Mod (REQUIRED for this showcase)
  • .NET 6.0 SDK for building

Setup Instructions

1. Build the Project

dotnet build

2. Deploy

Copy the compiled ZUIExampleMod.dll to your VRising BepInEx plugins folder:

<VRising Install>/BepInEx/plugins/

3. Add Your Custom Image (Optional)

If you want to test the image functionality:

  1. Create a PNG image file
  2. Rename it to match what's in the code (or update the code to match your filename)
  3. Place it in the appropriate ZUI images directory

💡 What This Does

When you load the game with ZUI installed, this mod creates two different UI demonstrations:

Part 1: 🔘 Legacy Buttons (Main Menu Integration)

Adds a "Simple Stuff" category to ZUI's main menu with two buttons:

  • Hello World - Executes .say Hello command
  • Kill Self - Executes .kill command

Part 2: 🎨 Custom UI Window

Creates a completely custom 500x350 pixel window named "YourWindowName" featuring:

  • Custom title with colored text
  • Multiple text elements positioned manually
  • Categories for organization (README and COMMANDS sections)
  • Buttons at specific positions
  • Image display capability

🔧 The Core Code

The plugin uses reflection to safely call ZUI methods, making it work as a soft dependency:

private void Call(string name, params object[] args)
{
    if (_zui == null) return;
    var method = _zui.GetMethods(BindingFlags.Public | BindingFlags.Static)
                     .FirstOrDefault(m => m.Name == name && m.GetParameters().Length == args.Length);
    if (method != null) method.Invoke(null, args);
    else LogInstance.LogError($"Could not find ZUI method '{name}' with {args.Length} parameters.");
}

Creating Custom Windows

private void CreateCustomUI()
{
    Call("SetPlugin", "YourPluginName");
    Call("SetTargetWindow", "YourWindowName");
    Call("SetUI", 500, 350);  // Width x Height

    Call("SetTitle", "<color=#B30000>ZUIExampleMod</color>");
    Call("AddText", "<color=#61c200>Custom text here</color>", 15f, 210f);
    Call("AddButton", "Test", ".ignorethis", 320f, 220f);
    Call("AddCategory", "<color=#ffd700>README:</color>", 15f, 190f);
    Call("AddImage", "CHANGENAME.png", 20f, 40f, 460f, 150f);
}

📁 Project Structure

ZUIExampleMod/
├── Plugin.cs              # Main plugin - creates UI elements
├── MyPluginInfo.cs        # Plugin metadata
└── ZUIExampleMod.csproj   # Project configuration

🎯 How to Adapt This for Your Mod

Approach 1: Simple Menu Buttons

Perfect for basic functionality that just needs a few buttons:

Call("SetPlugin", "MyMod");
Call("SetTargetWindow", "Main");
Call("AddCategory", "My Features");
Call("AddButton", "Do Something", ".mycommand");

Approach 2: Custom UI Windows

For complex UIs with custom layouts:

Call("SetPlugin", "MyMod");
Call("SetTargetWindow", "MyCustomWindow");
Call("SetUI", 600, 400);  // Set window size

// Position elements exactly where you want
Call("AddText", "Welcome!", 10f, 10f);
Call("AddButton", "Click Me", ".command", 10f, 50f, 200f, 30f);
Call("AddImage", "logo.png", 10f, 100f, 580f, 200f);

📚 ZUI API Methods Demonstrated

| Method | Description | Usage | |--------|-------------|-------| | SetPlugin(string) | Sets the plugin identifier | Call("SetPlugin", "MyMod"); | | SetTargetWindow(string) | Targets "Main" menu or a custom window name | Call("SetTargetWindow", "Main"); | | SetUI(int, int) | Creates custom window with width × height dimensions | Call("SetUI", 500, 350); | | SetTitle(string) | Sets window title (supports HTML color tags) | Call("SetTitle", "<color=#FF0000>My Window</color>"); | | AddCategory(string) | Adds category label in main menu | Call("AddCategory", "Admin"); | | AddCategory(string, float, float) | Adds category label at specific X, Y position | Call("AddCategory", "README:", 15f, 190f); | | AddButton(string, string) | Adds button to main menu with text and command | Call("AddButton", "Heal", ".heal"); | | AddButton(string, string, float, float) | Adds button at X, Y position | Call("AddButton", "Test", ".cmd", 320f, 220f); | | AddButton(string, string, float, float, float, float) | Adds button with position (X, Y) and size (W, H) | Call("AddButton", "Long", ".cmd", 20f, 280f, 460f, 20f); | | AddText(string, float, float) | Adds text at specific X, Y coordinates | Call("AddText", "Hello!", 15f, 210f); | | AddImage(string, float, float, float, float) | Adds image with filename, X, Y, width, height | Call("AddImage", "logo.png", 20f, 40f, 460f, 150f); |

🎨 Custom UI Design Tool

Want to design your custom UI visually?

Use the official ZUI Canvas Designer at https://zanakinz.github.io/ZUI

This interactive tool allows you to:

  • Visually position UI elements (buttons, text, images, categories)
  • Preview your layout in real-time
  • Export code directly for your mod
  • Experiment with different window sizes and arrangements

Read the full description on Thunderstore →

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 9 mo ago.

ZUIExampleMod on Nxeon

From our catalogue
One-click install
Not available. One-click install isn't available for this game's mods yet. Download it and upload it to your server in Files.
Server type needed
BepInEx
Server load
light
Smallest plan we suggest
V Rising — 6 GB (6 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
1.1.0, released 2026-01-18

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 2 recorded builds of ZUIExampleMod.

Recent builds

BuildReleasedGame versionsLoaders
1.1.02026-01-18n/aBepInEx
1.0.02026-01-11n/aBepInEx

Dependencies

Declared by the newest build that lists any. Required ones are installed with it on one-click installs.

Run ZUIExampleMod on a V Rising server

Deploy a server above, then upload the file in Files.

What kind of mod it is

From the catalog
Listed on Thunderstore as “Content”

Gameplay & overhauls

New mechanics, content and overhauls that change how the game plays.

Compatibility

Game
V Rising
Loaders
BepInEx
Requires
One-click install needs a BepInEx server.

Verified at the source

  • ✓ThunderstoreOfficial listing, checked 2026-10-02Open ↗
  • ✓AuthorZanakinz, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

ZUIExampleMod, answered

Generated from the mod’s own source data.

Which loaders does it support?

BepInEx.

Is it free?

Yes. ZUIExampleMod is free to download from Thunderstore.

How do I add it to my Nxeon server?

One-click install isn't available for this game's mods yet. Download ZUIExampleMod from Thunderstore and upload it to your Nxeon V Rising server in Files.

NxLabs

Run ZUIExampleMod on a V Rising server.

Deploy in about a minute from $12.00 a month, then upload ZUIExampleMod in Files.