Skip to content

Widget Types ​

Layout Containers ​

DSL TypeUE ClassDescription
VerticalBoxUVerticalBoxVertical stacking of children
HorizontalBoxUHorizontalBoxHorizontal arrangement of children
Canvas / CanvasPanelUCanvasPanelAbsolute positioning with anchors
OverlayUOverlayLayered stacking (z-order)
BorderUBorderContainer with background/border
ScrollBoxUScrollBoxScrollable container
SizeBoxUSizeBoxFixed-size container
ScaleBoxUScaleBoxScaled-to-fit container
WrapBoxUWrapBoxAuto-wrapping layout
GridPanelUGridPanelGrid-based layout
UniformGridPanelUUniformGridPanelUniform grid
WidgetSwitcherUWidgetSwitcherTab-style child switching

Leaf Widgets ​

DSL TypeUE ClassDescription
TextUTextBlockText display
ButtonUButtonClickable button
ImageUImageImage display
InputField / EditableTextUEditableTextText input
ProgressBarUProgressBarProgress indicator
SliderUSliderValue slider
CheckBoxUCheckBoxCheckbox toggle
ComboBoxUComboBoxStringDropdown selector
SpacerUSpacerEmpty space
ListViewUListViewScrollable list
TreeViewUTreeViewHierarchical tree

Effects Widgets ​

DSL TypeUE ClassDescription
SDFBoxUSDFBoxWidgetPureSDF visual effects container
BackgroundBlurUBackgroundBlurGaussian blur backdrop

CommonUI Widgets ​

DSL TypeUE ClassDescription
CommonButtonUCommonButtonCommonUI button with input actions
CommonTextUCommonTextCommonUI styled text
CommonBorderUCommonBorderCommonUI styled border
CommonImageUCommonImageCommonUI styled image

CommonUI widgets are automatically used when parentClass is set to a CommonUI class (e.g., CommonActivatableWidget).


Color Formats ​

FormatExample
Hex 6-digit"#FF8800"
Hex 8-digit (alpha)"#FF880088"
Hex 3-digit short"#F80"
RGB"rgb(255, 136, 0)"
RGBA"rgba(255, 136, 0, 0.8)"
Named colors"white", "black", "red", "green", "blue", "yellow", "cyan", "magenta", "orange", "gray", "transparent"

Slot Properties ​

Box Slots (VerticalBox / HorizontalBox) ​

json
"slot": {
  "padding": { "left": 10, "top": 5, "right": 10, "bottom": 5 },
  "fill": 1.0,
  "size": { "width": 100, "height": 45 },
  "hAlignment": "Center",
  "vAlignment": "Center"
}
  • padding — Inner margin (FMargin)
  • fill — Fill weight (0 = auto, >0 = proportional)
  • size — Fixed pixel dimensions (mutually exclusive with fill)
  • hAlignment — "Left" | "Center" | "Right" | "Fill"
  • vAlignment — "Top" | "Center" | "Bottom" | "Fill"

Canvas Slot (absolute positioning) ​

json
"slot": {
  "anchors": {
    "minimum": { "x": 0.5, "y": 0.5 },
    "maximum": { "x": 0.5, "y": 0.5 }
  },
  "offsets": { "left": -100, "top": -50, "right": 100, "bottom": 50 },
  "alignment": { "x": 0.5, "y": 0.5 },
  "zOrder": 0
}
  • Point Anchor (minimum = maximum) — Position relative to a single anchor point
  • Stretch Anchor (minimum ≠ maximum) — Widget stretches between two anchor corners

Powered by VitePress