Skip to main content

UI

01. What is a UI?

A UI is a small web app (HTML + CSS + JavaScript) that ModKit loads on top of inZOI. It is exactly like a webpage, except its "browser" is the running game and it can talk to the game through a built-in JavaScript SDK.

If you have ever written a webpage, you already know most of what a UI needs. The new parts are:

  • A manifest — a tiny JSON file that tells the game when your panel should appear and how it should behave (size, transparency, input).
  • A trigger — the condition that wakes your panel up (always on, a keybind, a chat command, etc.).
  • The inzoi SDK — a global object available in your scripts that lets you call game commands and read game state.

Mental model

Your UI is a webpage. The manifest decides when it opens. Your app.js reacts to the game and asks the game to do things.


02. What you can build

A UI is best for small, focused panels that read or change game state. Real examples shipped in inZOIModKit/Mods:

ModWhat it doesTriggerKey SDK calls
Clock WidgetA transparent on-screen clock that ticks while you play.always_on(none — pure DOM)
Mood PanelA small panel with buttons that change the current Zoi's mood.keybind: key "M" + modifiers ["Ctrl"] and command: mood_panel.toggleinzoi.cli.execute('zoi.setMood', { mood })
Event ToastPops a toast when a specific game event fires.game_event: ...listens to triggers, no game writes
Tools DemoA developer dashboard that demonstrates most SDK surfaces at once.multipleinzoi.data.query, inzoi.cli.list, ...

You do not need a UI for things the base game already handles: new clothing or hair belongs in CAZ, new placeable objects belong in Build, balance tweaks belong in DataAsset. UIs sit on top of those — they are the windows and buttons layer.


03. The ModKit workspace

When you open a UI project in ModKit, you get this six-panel layout:

ModKit UI workspace, labelled
#PanelWhat it is for
1ToolbarSave the manifest, open the mod folder, open files in your editor of choice, view the CLI catalog, or push the mod into a running game.
2File TreeThe files that make up the currently selected app (uimod_manifest.json, index.html, app.js, styles.css).
3PreviewA live in-editor browser that renders your HTML. Reloads when you save.
4Inline EditorA built-in text editor for quick tweaks. For real work, use an external editor (set it from the toolbar).
5ManifestA form view of uimod_manifest.json. Edit here or in the file — they stay in sync.
6Trigger Simulator + JS ConsoleFire any trigger declared in the manifest without launching the game, and read your console.log output.

The next pages walk through each of these in detail.


04. Where to go next

  1. Files — what uimod_manifest.json, index.html, app.js, and styles.css are each for, and the full manifest schema.
  2. Workspace — how to use each panel of the editor, and what Live Preview does under the hood.
  3. Scripting — a step-by-step "Hello inZOI" walkthrough, the trigger flow, and the SDK reference.

If you just want a reference of every game command you can call from your scripts, jump straight to the CLI Catalog.