Skip to content

How-to

Dynamic labels & conditions

These two features make a panel feel alive: dynamic labels change text based on values, and conditions make a child entry react to its parent.

Dynamic Labels

Dynamic labels change the visible generated label/text depending on values. They appear in Selected Entry when the Dynamic Labels section is shown (toggle it in Editor Layout).

By entry type

Add rows with a Match mode and value fields. Match can be Equals, At Least, At Most, or In Range. Rows are checked top to bottom, and the first matching row wins.

For an Integer entry in a choice mode, rows use a From Choice picker instead and summarize the matching choice label. The available range follows the active Choices list (ten choices → comparison values 09).

Rows match an exact text, enum-like, vector, color, integer-array, or boolean-array value. Rows are checked top to bottom, and the first matching row wins.

  • Separate false/true labels: set a label for off and on.
  • Dynamic Labels by Other Entry: drive the label from another entry.

Dynamic Text rules each choose an Other Entry. A rule can change just the text, or enable Override Display Style to also change role, alignment, icons, and alert style.

These use Dynamic Labels by Other Entry only — each rule chooses an Other Entry. They have no self-driven labels.

Rule list controls

Add, Remove, Duplicate, Move Up / Move Down, and a Tools menu that can sort numeric rows for the current rule set, or clear all rules.

Sort tools (they only reorder matching numeric rows inside the same watched-value group; other rows keep their place, and the generated UI still uses the visible top-to-bottom priority):

  • Sort At Least Rows High to Low: higher values get priority.
  • Sort At Most Rows Low to High: lower values get priority.
  • Sort Equals Rows Low to High: orders numeric Equals rows by value.
  • Sort Range Rows Narrow First: narrower In Range rows get priority.

Overriding a styled label-above

When the entry uses Label Above with Styled Label Above enabled, a Dynamic Label row can turn on Override Display Style to also override the label-above text style (alignment, alert, icons) for that rule.

Rule details

Field Meaning
Other Entry Source entry for a conditional rule.
Use One Component Evaluate one vector/color/array component instead of the whole value.
Component 1-based component/channel index.
When Other Entry Is Boolean source state.
Match Numeric comparison mode: Equals, At Least, At Most, or In Range.
At Least / At Most / Value / From / To Numeric comparison values shown for the chosen Match mode.
Other Entry Value Exact text/array/color match.
Applies When For boolean targets: Any, When Off, or When On.
Row Type Label Override, or Fallback (return to the set's fallback label).
Conditional by Other Entry Optional nested condition on a self-driven value-label bucket.

Auto-stepping comparison values

When PropUI auto-finds the next float comparison value, it uses the Dynamic Label Unique Decimals editor setting to decide the increment. See Editor settings.


Conditions

The Conditions subsection appears only when the active entry has a parent. Conditions make the child react to the parent's value.

Two condition groups

  • Child Availability: keeps the child visible but enables/disables it.
  • Child Visibility: shows/hides the child.

Parent modes

  • Always
  • When Parent Is On
  • When Parent Is Off
  • Always
  • When Parent Equals
  • When Parent Is At Least
  • When Parent Is At Most
  • When Parent In Range
  • Supported component sources can use one component/channel.
  • Whole vector/color/array/string values use exact matching (range / greater / less would not make sense).
  • PropUI shows inline hints when exact-match parents force equality.

Condition controls

  • Match value or range values.
  • Use One Component + Component for supported multi-component parents.
  • Chain: how deep the condition logic considers parent chains (inheritance). A summary beside Chain shows the inherited condition state.

Shared-row hidden behavior

When a conditional child lives in a shared row, hiding it has to do something with the empty space:

  • Auto Fill Row: remaining entries repack to fill the row.
  • Keep Empty Slot: the hidden entry leaves its slot empty so the row stays stable.

Warning

If a child shares a row with a numeric parent and uses numeric visibility, Auto Fill Row can make the row jump. Keep Empty Slot is safer there.

Copy Conditions

Once you've set up one child's conditions, Copy Conditions reuses them on other entries. It copies only the Conditions settings — Child Availability, Child Visibility, their compare value/range, Use One Component / Component, the Chain depth, and the When Hidden In Shared Row mode. It never changes value, display, type, or storage settings.

Tool What it does
Copy To All Siblings Copy the Conditions onto every entry that shares the active entry's parent.
Copy To Child Pick one entry that has a parent and copy the Conditions onto it.
Copy To All Child Entries Copy the Conditions onto every entry that has a parent.

Settings are copied as-is. A target whose parent is a different value kind keeps whichever condition fields apply to its own parent, so copying across mismatched parents does not error.

Note

Copy To All Siblings and Copy To All Child Entries use the Copy Conditions confirmation setting.