Skip to content

Widget Reference

Reference for UDraggableWindow (/Script/DraggableWindowUMG.DraggableWindow). Property names and defaults were read from the plugin (v3.3.4) via Unreal MCP.

flowchart LR
  Parent["«UserWidget» UUserWidget"]
  Window["«DraggableWindow» UDraggableWindow"]
  Enum["«enum» EOperatingSystemWindowStartupState<br/>Default · StartMinimized · StartMaximized"]

  Parent --> Window
  Window -->|CreateDraggableWindow| Enum

Properties and Blueprint-callable functions on UDraggableWindow (from plugin v3.3.4):

flowchart TB
  Window["UDraggableWindow<br/>bEnableDrag · bEnableResizing · bEnableMaximizing · ResizeMinWidth · ResizeMaxWidth · ResizeMinHeight · ResizeMaxHeight · DragKey · bIsMaximized<br/>CreateDraggableWindow() · CreateDraggableWindowFromWidget() · AddContentWidget() · AddContentWidgetClass() · GetChildWidget() · UpdateWindowSize() · CenterWindowToScreen() · ToggleMaximize() · CloseWindow() · ApplyWindowStartupState() · OnCloseWindow() · OnDragStart() · OnResizeStart()"]

Blueprint events (On Close Window, On Drag Start, On Resize Start, etc.) are listed in Blueprint events below.

Used by Create Draggable Window nodes when spawning at runtime.

ValueEffect
DefaultNormal visible window
Start MinimizedFires On Start Minimized
Start MaximizedOpens maximized (requires resizing enabled)
PropertyTypeDefaultDescription
Enable DragBooleantrueAllow dragging from WindowTitleBorderWidget
Enable ResizingBooleantrueAllow resize drag from ResizeAreaWidget
Enable MaximizingBooleantrueAllow Toggle Maximize (requires resizing)
Maximize Taskbar OffsetFloatBottom inset when maximized (taskbar clearance)
Resize Min WidthFloat640Minimum width in pixels
Resize Max WidthFloat480Maximum width in pixels
Resize Min HeightFloatMinimum height in pixels
Resize Max HeightFloatMaximum height in pixels
Drag KeyKeyLeft Mouse ButtonInput key for drag / resize
Is MaximizedBooleanfalseRuntime state (read-only)

Bind these in your Draggable Window subclass (names are case-sensitive):

Binding nameWidget typePurpose
WindowTitleBorderWidgetBorderDrag handle + title area
ChildWidgetCanvasCanvas PanelHosts child content
ResizeAreaWidgetBorderBottom-right resize grip (optional)
FunctionDescription
Create Draggable Window (Child Widget Class)Spawns window from class + optional child widget class
Create Draggable Window (Child Widget Reference)Spawns window and attaches an existing User Widget instance

Common parameters: Start Size, Resize Width (min X, max Y), Resize Height, Center To Screen, Can Drag, Can Resize, Window Startup State.

FunctionDescription
Add Content WidgetAttach an existing User Widget to ChildWidgetCanvas
Add Content Widget ClassCreate and attach a widget from class
Get Child WidgetReturns the active content widget
Update Window SizeSet size in pixels (FVector2D)
Center Window To ScreenRe-center (ignored when maximized)
Toggle MaximizeMaximize or restore
Close WindowRemoves from parent; fires On Close Window

C++ also exposes SetWindowTitle, SetPosition, and GetWindowPosition.

EventWhen it fires
On Close WindowWindow closed via Close Window
On Set Window TitleTitle text updated
On Content Widget AddedNew child attached
On Drag StartDrag began (requires Enable Drag)
On Resize StartResize began (requires Enable Resizing)
On Start MinimizedSpawned with Start Minimized
On Window Maximize ToggledMaximize / restore
ItemLocation
Content rootDraggableWindowUMG/
Sample windowWBP_DraggableWindow
Demo levelDemoLevel
Sample HUDWBP_DraggableWindowSampleHUD

Add to your .Build.cs:

PrivateDependencyModuleNames.AddRange(new string[] { "DraggableWindowUMG" });

Include #include "DraggableWindow.h" and call UDraggableWindow::CreateDraggableWindow(...).