Blueprint reference
Use Get Desktop Game Window Subsystem as Target. Complete Quick Start before active-window requests. Check return values; on failure, read Get Last Desktop Window Error immediately. Set/Get Desktop Window Rect are exceptions: false can leave an earlier error unchanged, so provide your own failure message.
Feature examples
Presentation and input
Presentation chooses Transparent/Opaque; input chooses Interactive/ClickThrough. Opacity accepts 0.0–1.0; 0 hides the frame without releasing input. The registered shortcut does not restore opacity.
Window controls
Always On Top starts enabled. For mouse-follow movement, see Drag the window. Rectangle Position and Size use physical pixels; Size must be positive. Resizing scales the existing frame rather than changing render resolution.
Display selection
Call Set Desktop Display Mode for Next Launch to choose Selected Display or All Displays. For one monitor, use a Display Id from Get Available Displays. Successful preference calls return RestartRequired; relaunch to apply them. Select/reset retains the current mode. See Display selection.
All public gameplay nodes
The table lists all 29 public gameplay functions. Activate/Deactivate are internal startup functions.
| Node | Result or purpose |
|---|---|
| Set Desktop Toggle Hotkey | Registers Key + Ctrl/Alt/Shift for this launch. Check Success. |
| Get Desktop Toggle Hotkey | Boolean, registered Key/modifiers, and Out Hotkey String (e.g. Ctrl+Alt+Z). False means no binding and an empty string. |
| Set Desktop Presentation Mode | Opaque or Transparent; Transparent requires a registered key. |
| Get Desktop Presentation Mode | Current Opaque/Transparent mode. |
| Set Desktop Input Mode | Interactive or whole-window ClickThrough. Opaque rejects ClickThrough. |
| Get Desktop Input Mode | Current input mode; not an activation check. |
| Toggle Desktop Input Mode | Toggles input; returns EDGTResult. |
| Set Whole Window Opacity | Requested multiplier; Opaque applies 1.0. Can preset before activation. |
| Get Whole Window Opacity | Requested value, including while Opaque. |
| Set Always on Top | Enabled true/false; returns EDGTResult. |
| Get Always on Top | Pure Boolean; reads the active window state. False before activation or after shutdown. |
| Start Drag | Follow cursor movement without resizing. Requires an active, focused Interactive host; returns EDGTResult. |
| Stop Drag | Stop following the cursor. Idempotent; returns Success. |
| Set Desktop Window Rect | Position/Size; Boolean return, not EDGTResult. |
| Get Desktop Window Rect | Pure Boolean plus Out Position and Out Size in physical pixels, read from the active host. False clears both outputs to (0, 0) and leaves Last Error unchanged. |
| Set Desktop Display Mode for Next Launch | Save Selected Display/All Displays; returns RestartRequired or StorageFailure. Invalid mode returns Unsupported. Does not change the active host. |
| Get Desktop Display Mode | Pure enum; active host mode. Selected Display when no host is active. |
| Get Display Mode for Next Launch | Pure enum; saved mode or project default. |
| Get Available Displays | Connected display structures. Use Display Id for selection. |
| Get Current Display | Boolean plus monitor containing the host center. False if the center is in a gap between monitors; ignore output on false. |
| Select Display for Next Launch | Save Display Id; returns RestartRequired. Does not change the display mode. |
| Reset Display to Primary for Next Launch | Clear monitor preference; returns RestartRequired. Does not change the display mode. |
| Is Display Restart Required | Relaunch needed for the display configuration. |
| Is Using Display Fallback | Startup used primary because the saved display was unavailable. |
| Is Running in PIE | Pure Boolean. True in the game instance's PIE world, including New Editor Window; false in Standalone, packaged games, or without a world. Works before host activation. |
| Is Game Window Focused | Pure Boolean. Checks Windows foreground focus for the desktop host or regular game window. PIE also requires focus in the game viewport or its UI. |
| Get Desktop Window Status | Current host/status state. |
| Get Last Desktop Window Error | Stored Code and Message; not a result history. |
| Get Project Configuration Issues | Requirements checker; String array, empty when checks pass. |
Results and events
Success confirms the request. Display preference calls use RestartRequired instead. Common failures: NotActive, HotkeyUnavailable, Unsupported, InvalidDisplay, WindowsRefused, StorageFailure, and Failed.
Events are On Desktop Window Status Changed, On Desktop Input Mode Changed, On Available Displays Changed, On Desktop Window Error, and On Game Window Focus Changed (Is Focused Boolean). Focus is sampled each engine frame; the event fires only when the value changes. Bind first, then call Is Game Window Focused for the initial value. Bind once and unbind your own handlers. Query current status after binding; earlier events can be missed.
Status can be Disabled, Starting, Interactive, ClickThrough, RestartRequired, or Failed. RestartRequired alone does not prove activation; read input and presentation through their separate getters.
Use Print String for development and visible game UI for Shipping errors. See Troubleshooting for focused fixes.