Draggable Window
Draggable Window is a C++ UMG widget (UDraggableWindow) that wraps any child widget in a desktop-style frame. Drag from the title bar, resize from a corner grip, maximize to screen, and spawn windows at runtime from Blueprint or C++.
The plugin ships demo content under DraggableWindowUMG/ including DemoLevel, WBP_DraggableWindow, and WBP_DraggableWindowSampleHUD.
Architecture
Section titled “Architecture”flowchart TB
subgraph runtime [Runtime]
HUD[Your HUD / Player Controller]
Create[Create Draggable Window]
DW[UDraggableWindow / WBP child]
Child[Any UUserWidget content]
end
subgraph layout [Required widget bindings]
Title[WindowTitleBorderWidget]
Canvas[ChildWidgetCanvas]
Resize[ResizeAreaWidget optional]
end
HUD --> Create --> DW
DW --> Child
DW --> Title
DW --> Canvas
DW --> Resize
What is included
Section titled “What is included”| Item | Path | Purpose |
|---|---|---|
| Base widget class | UDraggableWindow | C++ parent for all draggable windows |
| Sample window | WBP_DraggableWindow | Designer subclass with title bar + resize grip |
| Sample HUD | WBP_DraggableWindowSampleHUD | Spawns a window with child content |
| Demo level | DemoLevel | Playable example |
| Child sample | WBP_DraggableWindowSampleChildDefault | Default content widget |
Typical workflow
Section titled “Typical workflow”- Getting started — enable the plugin and create a widget Blueprint parented to Draggable Window.
- Customizing — wire WindowTitleBorderWidget, ChildWidgetCanvas, and ResizeAreaWidget.
- Overview — spawn windows at runtime and combine with Web Browser UMG.
- Widget reference — properties, events, and Blueprint nodes.
Shipped defaults (quick reference)
Section titled “Shipped defaults (quick reference)”| Setting | Default | Notes |
|---|---|---|
| Enable Drag | true | Drag from WindowTitleBorderWidget |
| Enable Resizing | true | Requires ResizeAreaWidget binding |
| Enable Maximizing | true | Requires resizing enabled |
| Drag Key | Left Mouse Button | Override in class defaults |
| Resize Min Width / Height | 640 / 480 | Pixel limits when resizing |
| Startup State | Default | Alternatives: Start Minimized, Start Maximized |