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.

Opening a file with generated panels

Generated panels are Python scripts stored in the .blend. If Blender blocks scripts for a file, PropUI leaves its generated panels saved but inactive. In the Full edition, Generated UIs shows Scripts Blocked. Restoration waits for a registered generated Text script; if one is missing, you can inspect and regenerate that panel, while other intact panels continue restoring.

For a file from someone else, inspect generated scripts in Blender's Text Editor before choosing Trusted Source in the file browser. Do not enable automatic execution globally just to make a panel appear. This also applies to standalone generated scripts loaded from a .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. Inspect unfamiliar scripts before running them. See Opening a file with generated panels.

Doing it

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

Generated UIs