Skip to main content

Widgets

note

I'm still working on updating all the documentation, and there are more widgets to add to the template. It takes a bit of time as I have to go through them all and make sure everything is properly sourced and then clean it up a bit before adding things into the packs.

Labeled Slider

Labeled Slider Widget

A compact label + slider widget for numeric settings (e.g., volume, brightness). Left side: text label. Right side: slider.

Widget class: CUI_LabeledSlider_KSyn
Base Class: (Common Activatable Widget)
Use for: 0–1 or bounded float values with a visible label
Navigation: Fully focusable; supports keyboard/gamepad/Mouse

Quick Use

  1. Drop Labeled Slider into your settings screen.
  2. Set is Variable
  3. Set Label Text and the value range (Min/Max).
  4. Set Step Size so left/right adjusts predictably.
  5. Bind On Slider Value Changed to apply your setting.
  6. Initilize slider position when the UI is activated, or the value changes.

Properties

  • Min Value (float)
    Lowest allowed value. The result is clamped to this.

  • Max Value (float)
    Highest allowed value. The result is clamped to this.

  • Step Size (float)
    Increment used for keyboard/gamepad nudging (and snapping while dragging).
    Tip: Choose a step that divides the range cleanly (e.g., 0.05 for 0–1).

  • Label Style (Common Text Style asset)
    Controls label font, size, color (e.g., UI/Styles/Text/TS_Label).

  • Label Width (float)
    Fixed width for the label column. Use to align multiple rows.

  • Label Height (float)
    Fixed height if you need a uniform row height.

  • Slider Style (Slate Widget Style asset: FSliderStyle)
    Controls thumb/track visuals (e.g., UI/Styles/Slider/SWS_Default).

    Note: Styles are assets; swap them to re-skin without editing the widget.


Events

  • On Slider Value Changed (float NewValue)
    Fires continuously while dragging or nudging.

  • 0–1 settings: Min=0.0, Max=1.0, Step=0.05 (or 0.01 for finer control).
  • Percent display: Store 0–1 internally
  • Alignment: Give all labeled sliders the same Label Width for tidy columns.
  • Accessibility: Ensure label text clearly states the setting (e.g., Music Volume).

Example (Volume)

  • Label: Music Volume
  • Min/Max: 0.01.0
  • Step: 0.05
  • On Value Changed: Update volume

Troubleshooting

  • Value “jumps” on commit: Choose a Step Size that divides the range cleanly.
  • Gamepad left/right too slow/fast: Adjust Step Size.

Bound Action Button

Bound Action Button

Widget class: BoundBtn_ActionButton_KSyn
Use for: Displays available actions in the action bar.
Navigation: Clickable with mouse. As these are ussually always available actions when present in the bar, controller navigation is not ussually needed or desired.

Base Button

Just Ship It Logo

Widget class: Btn_ButtonBase_KSyn
Base Class: (Common Button Base)
Use for: Todo
Navigation: todo

Properties

  • Style (float)
    Todo
  • Text (float)
    Todo
  • Height (float)
    Todo
  • override Width (float)
    Todo
  • Width (float)
    Todo
  • Text Style (float)
    Todo
  • Text Style Hovered (float)
    Todo

Resolution Button

Just Ship It Logo

Widget class: Btn_ResolutionButton_KSyn
Base Class: (Common Button Base)
Use for: Todo
Navigation: todo

Checkbox, Text

Just Ship It Logo

Widget class: CUI_CheckBoxText_KSyn
Base Class: (Common Activatable Widget)
Use for: Todo
Navigation: todo

Properties

  • Label Text (float)
    Todo
  • Height (float)
    Todo
  • Width (float)
    Todo
  • Check Box Style (float)
    Todo

Checkbox, Labled

Just Ship It Logo

Widget class: CUI_LabeledCheckBox_KSyn
Base Class: (Common Activatable Widget)
Use for: Todo
Navigation: todo

Properties

  • Label Text (float)
    Todo