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