FAQ

Updated 2 days ago

FAQ - Frequently Asked Questions

Common questions about ZUI installation, usage, and development.


📋 Table of Contents


General Questions

What is ZUI?

ZUI is a UI framework for V Rising that allows mod developers to create custom interfaces. It provides:

  • Main menu integration for simple buttons
  • Custom window creation for complex UIs
  • Image support for graphics and logos
  • Easy-to-use API for mod developers
  • Built-in integrations for popular server mods

Is ZUI required to play V Rising?

No. ZUI is optional and only needed if:

  • You want UI features from mods that support ZUI
  • You play on servers with ZUI-integrated mods
  • You're developing mods that use UI features

The game works perfectly fine without ZUI.

Is ZUI client-side or server-side?

ZUI is client-side. It runs on your computer and displays UI elements. Server mods can integrate with ZUI to provide UI features to players who have it installed, but the server doesn't need ZUI installed.

Does ZUI work on dedicated servers?

ZUI is client-side, so it doesn't "run" on dedicated servers. However:

  • ✅ Players can use ZUI while connected to dedicated servers
  • ✅ Server mods can provide ZUI integrations
  • ❌ The server itself doesn't need ZUI installed

Is ZUI safe to use?

Yes. ZUI is:

  • Open source (can review the code)
  • Uses standard BepInEx framework
  • Doesn't modify game files
  • Only affects UI elements

Installation & Setup

How do I install ZUI?

  1. Install BepInEx 6.0.0-be.733 (IL2CPP version)
  2. Download latest ZUI release
  3. Extract ZUI.dll to BepInEx/plugins/
  4. Extract Sprites folder to BepInEx/plugins/Sprites/
  5. Launch V Rising

See Getting Started for detailed instructions.

What version of BepInEx do I need?

You need BepInEx 6.0.0-be.733 (IL2CPP version).

❌ BepInEx 5.x won't work ❌ BepInEx 6.x Mono version won't work ✅ BepInEx 6.0.0-be.733 IL2CPP is required

Do I need the Sprites folder?

Yes! The Sprites folder contains UI theme assets. Without it:

  • ZUI may not load correctly
  • UI elements won't display properly
  • You'll see warnings in console

Always include the Sprites folder in BepInEx/plugins/Sprites/.

Can I use ZUI with other UI mods?

Generally yes, but it depends on the mods. ZUI is designed to be compatible with most mods. If you experience conflicts:

  • Check mod compatibility notes
  • Test mods individually
  • Report conflicts to mod authors

How do I update ZUI?

  1. Download the latest version
  2. Backup your current installation (optional)
  3. Replace ZUI.dll in BepInEx/plugins/
  4. Replace Sprites folder if included in update
  5. Restart V Rising

Your configuration settings are preserved in BepInEx/config/ZUI.cfg.


Usage Questions

How do I open the ZUI menu?

Check your ZUI.cfg for the hotkey setting (default varies). Look for:

[Hotkeys]
OpenMenu = <key>

If no hotkey is set, mods that use ZUI will add their buttons to the ZUI interface automatically.

Can I customize the ZUI appearance?

Currently, ZUI uses a fixed theme (9-sliced sprites in the Sprites folder). You can:

  • ✅ Replace sprite files with custom ones (same filename, same format)
  • ❌ Cannot change theme through config
  • ❌ Cannot change colors/styling through UI

Advanced users can modify sprite files to customize the look.

Can I move/resize ZUI windows?

Yes! ZUI windows are:

  • ✅ Draggable (click and drag title bar)
  • ✅ Resizable (drag edges/corners)
  • ✅ Persistent (positions saved automatically)

Custom windows created by mods inherit these features automatically.

How do I reset window positions?

If windows are off-screen or you want to reset positions:

  1. Close V Rising
  2. Open BepInEx/config/ZUI.cfg
  3. Find window position settings
  4. Delete those lines or set to default values
  5. Save and restart game

Windows will reset to default positions.

Can I disable ZUI temporarily?

Yes, several ways:

Option 1: Disable the plugin

  • Rename ZUI.dll to ZUI.dll.disabled
  • Restart game

Option 2: Disable specific integrations

  • Edit BepInEx/config/ZUI.cfg
  • Set integrations to false
  • Restart game

Option 3: Don't use it

  • Just don't open the ZUI menu
  • It won't affect gameplay

Development Questions

How do I integrate ZUI into my mod?

Use the soft dependency pattern:

[BepInDependency("Zanakinz.ZUI", BepInDependency.DependencyFlags.SoftDependency)]

Then use reflection to call ZUI methods. See Integration Guide for complete implementation.

Should I use hard or soft dependency?

Always use soft dependency unless you have a very specific reason not to.

Soft dependencies:

  • ✅ Work with or without ZUI
  • ✅ Better user experience
  • ✅ Maximum compatibility
  • ✅ No crashes if ZUI missing

See Integration Guide for details.

Can I create custom windows with ZUI?

Yes! Use the SetUI(width, height) method:

Call("SetPlugin", "MyMod");
Call("SetTargetWindow", "MyWindow");
Call("SetUI", 600, 400);
Call("SetTitle", "My Window");
Call("AddText", "Content", 20f, 50f);

See Custom Windows for detailed guide.

Do I need to reference ZUI.dll when building?

No (for soft dependencies). Use reflection to call methods at runtime.

Yes (for hard dependencies). Add ZUI.dll as a reference in your .csproj.

We recommend soft dependencies, which don't require compile-time references.

How do I add images to my UI?

  1. Place PNG/JPG images in BepInEx/plugins/Sprites/
  2. Use AddImage() method:
Call("AddImage", "mylogo.png", 20f, 20f, 200f, 100f);

See Working with Images for more details.

Is there a visual designer for layouts?

Yes! Use the ZUI Visual Designer:

  • Design layouts visually
  • Drag and drop elements
  • Export code ready to use
  • Preview in real-time

This is much easier than calculating coordinates manually.

Can I update UI elements dynamically?

Currently, ZUI elements are registered once on mod load. Dynamic updates are limited.

You can:

  • Register different UIs based on conditions
  • Use multiple windows for different states

You cannot:

  • Update button text after registration
  • Add/remove buttons dynamically
  • Change element positions at runtime

This may change in future ZUI versions.

What's the best way to organize lots of buttons?

Use categories to organize:

Call("AddCategory", "Player Tools");
Call("AddButton", "Heal", ".heal");
Call("AddButton", "Speed", ".speed");

Call("AddCategory", "Admin Tools");
Call("AddButton", "God Mode", ".god");
Call("AddButton", "Teleport", ".tp");

Or create separate custom windows for different feature sets.


Integration Questions

What are built-in integrations?

ZUI includes native support for:

  • BloodCraft
  • KinPonds
  • ScarletSigns
  • KindredCommands

These provide ready-to-use UI for these mods. See Built-in Integrations.

How do I enable built-in integrations?

Edit BepInEx/config/ZUI.cfg:

[Integrations]
EnableBloodCraft = true
EnableKinPonds = true

Restart the game.

Do I need the server mod installed too?

Yes. Built-in integrations only work when:

  1. Integration enabled in ZUI config
  2. You're connected to a server
  3. Server has that mod installed

If the server doesn't have the mod, the integration won't appear (no error).

Can I create my own integration?

If you're a mod developer, you can integrate your mod with ZUI using the API. There's no special "integration" system - just use the standard ZUI API to create your UI.

For official built-in integrations, contact the ZUI developer.

Why doesn't my integration appear?

Common reasons:

  • Integration disabled in config (check ZUI.cfg)
  • Server doesn't have the mod installed
  • Version incompatibility
  • Not connected to a server

See Built-in Integrations troubleshooting section.


Troubleshooting

ZUI doesn't load

Check:

  • ✅ BepInEx 6.0.0-be.733 IL2CPP installed
  • ZUI.dll in BepInEx/plugins/
  • Sprites folder in BepInEx/plugins/Sprites/
  • ✅ No errors in BepInEx/LogOutput.log

See Troubleshooting for detailed solutions.

My mod's UI doesn't appear

Common issues:

  • ZUI not installed/loaded
  • SetPlugin() not called first
  • Wrong window target
  • Integration code not running

Enable debug logging:

Log.LogInfo("RegisterUI called");
Call("SetPlugin", "MyMod");
Log.LogInfo("SetPlugin called");

See Troubleshooting for more solutions.

Images don't show

Check:

  • ✅ Image in BepInEx/plugins/Sprites/ folder
  • ✅ Filename matches exactly (case-sensitive)
  • ✅ Supported format (PNG or JPG)
  • ✅ Coordinates within window bounds

See Troubleshooting image issues section.

Buttons don't work

Verify:

  • ✅ Command starts with period (.heal not heal)
  • ✅ Command is registered in your mod
  • ✅ Command works when typed in chat
  • ✅ Button is inside window bounds

See Troubleshooting button issues section.

Game lags with ZUI open

Possible causes:

  • Too many UI elements (100+ buttons)
  • Very large images
  • Multiple large windows

Solutions:

  • Reduce number of elements
  • Optimize image file sizes
  • Use categories to organize buttons
  • Split into multiple windows

See Troubleshooting performance section.

Where are ZUI logs?

Check BepInEx/LogOutput.log for:

  • ZUI load messages
  • Integration status
  • Error messages
  • Debug information

Filter for [ZUI] or your mod name.


Still Have Questions?


Can't find your answer? Check the other wiki pages or review the ZUI documentation!