Skip to content

Concepts

Generated UIs

A Generated UI is an output panel PropUI has built. The list of Generated UIs in Output Setup tracks managed outputs: editor-generated slots plus any imported portable scripts, which are copied into PropUI state as fully managed rows.

What gets built

When you press Generate UI, PropUI writes a Python script containing:

  • Managed custom-property metadata.
  • Draw functions for the main panel body and each non-empty sub-panel.
  • Panel classes for each selected sidebar / Properties location.
  • Optional operator-runner support for Operator Button entries.
  • Visibility / poll logic, and internal generated-UI control storage.

The result is a normal set of Blender Panel classes — nothing exotic.

Where scripts are stored

Each generated UI gets its own portable .py Text datablock, stored inside the .blend. Use Export .py Files ZIP to get standalone files outside the .blend.

The lifecycle

A generated UI moves through states you can see in the Generated UIs list:

Status Meaning
Outputs Total managed rows shown in the list.
Scripts Ready versus missing generated .py Text datablocks for those rows.
Running Managed rows whose generated panel registry is currently active.
Stale Panels still registered after their generated .py Text script disappeared.

Use the Play button to run a row's generated script and Pause to stop a running UI for the current Blender session, and remove a row with a chosen behavior.

Removal is a spectrum

Removing a generated UI ranges from just hiding it from the editor list to stopping the panel to deleting its script entirely. Choose the behavior deliberately — see Generated UIs in the manual.

Imported scripts become managed rows

You can Import Generated Scripts to find unmanaged generated PropUI scripts in the .blend and add them as fully managed rows — not fragile references. Once imported, a row behaves like any other: removing it uses the same removal modes, so Remove Everything also deletes its managed Text datablock, while less destructive modes remove the row and optionally stop the running UI.

Trust

Running an imported generated UI script executes Python from a Blender Text datablock. Only run scripts you trust.

Doing it

Full list controls — Play/Pause, remove modes, import, export, and stale cleanup — are in the manual:

Generated UIs