REDnode UI Tools
REDnode UI Tools is an optional app pack for REDnode, for anyone curious about the game’s own interface or wanting to build on it. Its one app, the UI Workbench, opens inside the game and does five jobs:
| Tab or button | What it does |
|---|---|
| Inspect | Shows the game’s UI as a live tree: every layer, every HUD piece, every widget. Point at anything on the HUD or in a menu and it tells you what it is, where it came from and every property it has |
| Try | Changes a game widget live (its text, colour, opacity, size, place) to find what controls a look. Never kept |
| To source | Copies a piece of the game’s HUD into a project of your own, as ink markup, so you start from the game’s own look |
| Projects and Edit | Write a native HUD panel (its markup and its script) in an editor in the game, with mistakes shown as you type, and run it live |
| Export | Turns a project into a zip that installs as a mod of its own, ready to share |
Native UI means UI the game draws itself, with its own widgets, fonts and colours, as opposed to REDnode’s overlay windows, which are web pages drawn on top. The game’s UI system is called ink. If the words are new, read Native UI: ink markup first; the Workbench writes that markup for you.
Why you’d want it
| If you… | The Workbench gives you |
|---|---|
| Wonder how a piece of the HUD is built | Pick it and read its widgets, their classes, sizes, colours and the file it came from, with no tools outside the game |
| Want to change how the game’s UI looks, in an archive or a redscript mod | Try a value on the live widget first, to see which property does what before you edit any file |
| Want a HUD panel of your own that fits the game | Copy the game’s own panel with To source, or start from the template, and run it in the game as you edit |
| Can’t code yet | The template works as it is: change words and numbers, press Save and watch the panel change. The tutorial walks you through it |
| Want to share what you made | Export makes a zip any REDnode player installs like any other mod |
Inspect only reads. Try’s changes are put back when you press Reset or switch the Workbench off, and a save never holds one. Your projects live in your Documents folder, away from the game folder.
Status
Released. REDnode UI Tools 0.1.0 came out on 2026-11-03 with REDnode 0.56.1, its first release, with the UI Workbench 0.4.1. Every part below passed its in-game test on game version 2.5:
| Part | Status |
|---|---|
| Inspect: the tree, Pick, Pick inside, the details | Passed in game on 2026-11-02 |
| Projects and Edit: New, Rename, Delete, the editor, Run, Stop, Save while it runs | Passed in game on 2026-11-02 and 2026-11-03 |
| Try and To source | Passed in game on 2026-11-03 |
| Export, and installing the export as a mod | Passed in game on 2026-11-03 |
| Buttons and other controls inside a native panel | Not yet: input on ink comes with REDnode’s phase I3, then the Workbench’s phase UT4 |
| Projects on a menu, and whole screens of your own | Planned (phases UT4 and UT5) |
It is a preview, built in the open: expect changes.
Install
| You need | Why |
|---|---|
| REDnode 0.56.0 or later | The Workbench is a REDnode package. The current release is 0.56.1 |
| Codeware 1.16 or later | The game’s UI layers reach REDnode through it |
| Cyberpunk 2077 on PC, game version 2.5 | As REDnode |
Download REDnode-UI-Tools-0.1.0.zip from its Nexus Mods page, or from REDnode’s releases on GitHub, where it is attached beside REDnode’s own zip. Then, with the game closed:
- Vortex: use Mod Manager Download on Nexus, then enable and deploy.
- EDGEdeck: add the zip and deploy.
- By hand: extract the zip into your Cyberpunk 2077 folder, the one with
binandarchivein it. The app lands inred4ext\plugins\REDnode\apps\ui-workbench.
Install it after REDnode: it goes into REDnode’s apps folder. To remove it, remove it in your mod manager, or delete that ui-workbench folder. REDnode and your projects stay.
Switch it on
- Start the game and load a save.
- Press F10 for interactive mode and click the REDNODE tab at the lower left to open the launcher. Switch on the Mod Manager.
- Find UI Workbench (type
workin the search box) and switch it on. It starts switched off, like every new package. - To reach it in one click next time, press Pin to launcher in its details.
The Workbench opens over the game. Its Inspect tab works at once.
The admin permission
Four of the Workbench’s jobs need REDnode’s admin permission, shown in the Mod Manager as managing REDnode, because they start and stop packages (your projects) and change the game’s own widgets.
Needs admin |
Works without it |
|---|---|
| Try, To source, the Edit and Projects tabs, Export | Inspect: the tree, Pick, the details, Path, JSON, Read all |
To allow it: in the Mod Manager, select UI Workbench, read the warning under Permissions, and switch Allowed on for managing REDnode. Then open the tab you wanted again. Without it, Edit and Projects say: “Edit and Projects need the admin permission: allow it for UI Workbench in the Mod Manager (Permissions), then open this tab again.”
The same permission lets the Admin Tools pack’s Task Manager end any package. Allow it only for tools you trust; you can switch it off any time, and Inspect keeps working.
The Workbench window
The Workbench covers the whole game view, but only its window takes the mouse: everywhere else the page is see-through and your clicks reach the game or the windows behind.
| To | Do |
|---|---|
| Move it | Drag its title bar |
| Resize it | Drag the grip in its bottom-right corner. It stops at 760 x 420 |
| Put it back where it started | Reset position and size in its title bar (in the ⋯ menu when there’s no room for its icon) |
| Switch tabs | Inspect, Edit, Projects at the top |
| Read a status line cut short | Point at it: its tooltip shows the whole text |
| Close it | Its ✕. Closing it puts back everything Try changed |
It keeps its place and size across starts. Like every REDnode window it shows only in interactive mode (F10), unless you pin it to the HUD; native panels it runs stay on the HUD either way, since the game draws them.
Where things are kept
| What | Where |
|---|---|
| The app | red4ext\plugins\REDnode\apps\ui-workbench in the game folder |
| Your projects | Documents\REDnode\UI projects, one folder each. REDnode watches this folder as a development folder, so your projects run without being copied into the game |
| Deleted projects | Documents\REDnode\UI projects\.trash, where you can take them back |
| Exports | Documents\REDnode\UI exports, one zip per project and version |
Projects and exports are outside the game folder, so game updates, reinstalls and EDGEdeck’s deploys never touch them.
In this part
| Page | |
|---|---|
| Inspect | The tree, Pick, Pick inside, a widget’s details |
| Try | Change a game widget live, with a walkthrough |
| To source | Copy a HUD piece into a project, with a walkthrough |
| Projects and Edit | New, the editor, Run, Stop and Save while it runs |
| Export | Share a project as a mod |
| Tutorial: your first native HUD panel | From New to an installed mod, step by step |
| Native UI: ink markup | The markup the Workbench writes, for newcomers |
| Troubleshooting | When a tab says no, a pick finds nothing, or a project won’t run |
The developer reference is REDnode’s UI Tools guide and its Native game UI page.
For mod makers
Everything the Workbench reads is in the rednode package, for your own packages. The reads need no permission; Try needs admin.
| Call | Gives |
|---|---|
ink.layers() |
The game’s layers and the HUD’s pieces |
ink.read(from, { depth, max, props }) |
A tree of widgets in one call; with props: true, each one’s layout and look too |
ink.inspect(id) |
One widget in full: path, parents, controllers, source file, every property, and an api reference to it |
ink.at(x, y) |
The drawn widgets under a point, smallest first |
ink.boxes() |
Every drawn widget’s box in one call |
ink.try(id, prop, value), ink.reset() |
Change one property of a game widget, and put it back |
import { ink } from 'rednode';
const { hits } = await ink.at(200, 900); // in the HUD's units
const w = await ink.inspect(hits[0].id);
console.log(w.path, w.controllers, w.properties.opacity);
More in Game API: more of the game.