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: