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: