DreamGUI
类参考

UDreamWidget

Base class for almost all UI related things.

本页由 DreamGUIReferenceDocs commandlet 从反射生成,正文是头文件注释的原文(英文),所以不翻译——这样它永远和代码一致。概念讲解见核心概念。

Inherits from UObject.

Declared in Public/Core/Components/DreamWidget.h.

Base class for almost all UI related things.

Properties

NameTypeCategoryIn the details panelFrom BlueprintDescription
RelativeLocationFVectorTransformyesread onlyLocal space position. DuiHidden: the setter recomputes the anchors, and AnchorData is what a .dui spells -- a reflective sweep that also wrote this would author one position twice.
RelativeRotationFQuatTransform-read onlyLocal space rotation. Not marked Interp: Sequencer has no property track for FQuat, so this cannot be keyed directly. Animate RelativeRotationEuler instead, which mirrors this value. // DuiHidden: RelativeRotationEuler is the authored face of this value, and a quaternion has no // spelling -- but FQuat is an ordinary struct, so without the tag a reflective sweep would // recurse it and write X/Y/Z/W component lines beside the euler it already wrote.
RelativeRotationEulerFRotatorTransformyesread onlyLocal space rotation as euler angles, mirroring RelativeRotation so that rotation can be animated: Sequencer has an FRotator property track but none for FQuat.
RelativeScaleFVectorTransformyesread onlyLocal space scale
RenderTranslationFVectorRender Transformyesread onlyRENDER TRANSFORM.
RenderRotationFRotatorRender Transformyesread onlyRender-only rotation about RenderTransformPivot, in degrees. FRotator rather than FQuat for the same reason RelativeRotationEuler exists: Sequencer has a property track for one and not the other. No transient mirror is needed here because this is itself the serialized source of truth.
RenderScaleFVectorRender Transformyesread onlyRender-only scale about RenderTransformPivot.
RenderTransformPivotFVector2DRender Transformyesread onlyWhat RenderRotation and RenderScale turn about, normalized within the widget's own rect. (0,0) is bottom-left and (1,1) top-right, matching AnchorData.Pivot rather than UMG's top-left origin -- consistency inside this fork beats consistency with the other engine. Two-dimensional because the rect is: it resolves to a point on the widget's own plane. Independent of AnchorData.Pivot, which belongs to layout.
RenderShearFVector2DRender Transformyesread onlyRender-only slant about this widget's own pivot, in DEGREES, applied to this widget and its whole subtree. See GetRenderShear for what it does and does not affect.
RenderLayerEDreamWidgetRenderLayerRender Transformyes-Whether this widget may be a render layer of its canvas, and when: once its render transform keeps changing (Auto), whenever it can be (Always), or never. A layer's transform is applied on the GPU to everything under it.
bPerspectiveboolPerspectiveyesread onlyPERSPECTIVE, in the shape CSS uses.
PerspectiveFieldOfViewfloatPerspectiveyesread onlyThe angle the subtree is viewed through, in degrees. Wider is a stronger effect, and it means exactly what UDreamCanvas::FieldOfView means -- the eye distance is derived from it with the same formula, against this widget's own width.
PerspectiveOriginFVector2DPerspectiveyesread onlyWhere the eye stands over this widget's own rect, normalized: (0,0) bottom-left, (1,1) top-right, matching RenderTransformPivot. The CSS perspective-origin, and the vanishing point a subtree converges toward.
AnchorDataFDreamUIAnchorDataDreamGUI-AnchorDatayes-AnchorData contains rect transform and color
AnimatableWidthfloatDreamGUI-AnchorDatayesread onlyAnimatable mirrors of the resolved geometry, one per channel Sequencer can key. Sequencer reads property memory directly while writing through the setter (the RelativeRotationEuler story), so each must be a real stored field; SyncAnimatableGeometryMirrors keeps them equal to the caches below. A stale cache and its mirror go stale together, which is exactly what the details panel shows too. // DuiHidden on all six: they are Interp mirrors of AnchorData for Sequencer, and their setters // write through to it -- which is exactly what exempts them from the transient refusal and // exactly why a reflective sweep must not spell them: AnchorData already carries the value.
AnimatableHeightfloatDreamGUI-AnchorDatayesread only
AnimatableAnchorLeftfloatDreamGUI-AnchorDatayesread only
AnimatableAnchorRightfloatDreamGUI-AnchorDatayesread only
AnimatableAnchorTopfloatDreamGUI-AnchorDatayesread only
AnimatableAnchorBottomfloatDreamGUI-AnchorDatayesread only
RenderOpacityfloatDreamGUIyesread only
ClippingEDreamWidgetClippingDreamGUIyesread only
ClippingCornerRadiusFVector4fDreamGUIyesread onlyX- RightBottom, Y- RightTop, Z- LeftTop, W- LeftBottom
ClippingMarginFMarginDreamGUIyesread onlyExpand clip area outward.
bUniformSetClippingCornerRadiusboolDreamGUIyes-
bWidgetActiveboolDreamGUIyesread onlyIf not WidgetActive, then not visible, not take layout space, not interactable, not hit-testable
VisibilityEDreamWidgetVisibilityDreamGUIyesread onlyControls layout, painting and hit testing independently from WidgetActive.
ShownboolDreamGUI-read onlyVisibility as a yes or no: true is Visible, false is Collapsed. What Shown <- HasSave() binds in a .dui, and what an if block binds on each widget of its branches. Nothing of its own is kept -- reading it reads Visibility (anything but Collapsed is shown), writing it writes Visibility -- so the field below is only the slot reflection needs for a property with a getter and a setter. DuiHidden: Visibility is what the write-back spells, so a sweep must not author the same value twice.
PixelSnappingEWidgetPixelSnappingDreamGUIyesread onlyIf the widget will draw snapped to the nearest pixel. Improves clarity but might cause visible stepping in animation.
RaycastableEDreamWidgetRaycastableTypeDreamGUIyesread only
InteractableEDreamWidgetInteractableTypeDreamGUIyesread onlyIf the widget enable for interaction?
bIsEnabledboolBehavioryesread onlyUMG's bIsEnabled: the switch a game flips to grey a thing out and stop it responding.
bRestrictNavigationAreauint8DreamGUIyesread onlyRestrict navigation area to only children of this UI node, to forbid it navigate out.
NavigationBoundaryRuleEDreamUINavigationBoundaryRuleDreamGUIyesread onlyWhat happens when a directional move reaches the edge of this area. Only read on a widget that is itself a restricted area; Stop keeps the behaviour every existing prefab already has.
bIgnoreLayoutboolDreamGUIyesread onlyIgnore parent layout container
VisualTObjectPtr<UDreamVisual>Visualyesread only
LayoutContainerTObjectPtr<UDreamLayoutContainer>LayoutContaineryesread only
LayoutSelfTObjectPtr<UDreamLayoutSelf>LayoutSelfyesread only
PanelSlotTObjectPtr<UDreamPanelSlot>PanelSlotyesread onlyParent-panel-owned layout data. This is separate from LayoutSelf so legacy Flex/Grid assets remain valid.
bIsFocusableboolInteractionFocusyesread only
bIsTabStopboolInteractionFocusyesread only
TabIndexint32InteractionFocusyesread only
TabNavigationEDreamWidgetTabNavigationInteractionFocusyesread only
CursorTEnumAsByte<EMouseCursor::Type>Interactionyesread only
ToolTipTextFTextInteractionyesread only
ToolTipWidgetClassTSubclassOf<UDreamUserWidget>Interactionyesread onlyShow THIS widget class as the tooltip instead of the built-in text bubble. Beats ToolTipText when both are set, matching the order the tooltip service already resolves its two content paths in.
FlowDirectionPreferenceEDreamFlowDirectionPreferenceLocalizationyesread onlyWhich way this widget's layout flows. Inherit -- the default, and what every asset authored before this existed holds -- takes the answer from the nearest ancestor that states one, so a whole screen is mirrored by setting Culture once on its root.
AccessibleBehaviorEDreamAccessibleBehaviorAccessibilityyesread only
AccessibleTextFTextAccessibilityyesread only
AccessibleSummaryTextFTextAccessibilityyesread only
SiblingIndexint32DreamGUIyes-hierarchy index, hierarchy order, render order
FlattenHierarchyIndexint32DreamGUI--Flatten depth/hierarchyIndex, relative to root DreamWidget. -1 means not set yet. RootWidget - 0 Widget - 1 Widget - 2 Widget - 3 Widget - 4 Widget - 5 Widget - 6
DisplayNameFStringDreamGUI--This is useful when you need to find child UI element by name, use function "FindChildByDisplayName" or "FindChildArrayByDisplayName" to do it. Mostly the displayName is the same as Actor's ActorLabel. If you want to change it, just change the actor label( Actor's name in world outliner). If Actor's ActorLabel start with "//", then the "//" will be ignored. ActorLabel is only valid in editor, but this is also valid on runtime.

Functions

FunctionKindDescription
UDreamPanelSlot* AddChild(UDreamWidget* InChild, int32 InSiblingIndex)callableUMG's UPanelWidget::AddChild, adapted. UMG needs eight typed variants because each panel has its own slot class; here there is one UDreamPanelSlot, so one verb returns it and you can set padding straight off the result.
UDreamUIBehaviour* AddComponent(TSubclassOf<UDreamUIBehaviour> ComponentClass)callableAdd Component
UDreamTweener* AnchoredPositionTo(FVector2D endValue, float duration, float delay, EDreamTweenEase ease)callableAnchored Position To
void AnnounceAccessibleText(FText Announcement)callableSends text through Slate's platform accessibility announcement channel.
bool CanAcceptAdditionalChildren(int32 AdditionalChildCount)pureCan Accept Additional Children
bool CanAcceptChild(UDreamWidget* InChild)pureCan Accept Child
void ClearFocus(int32 UserIndex, int32 PointerId)callableClear Focus
void ClearKeyboardFocus()callableGive up focus if this widget holds the owning player's.
void ClearRenderTransform()callableBack to drawing exactly where layout put it, in one invalidation.
UDreamLayoutContainer* CreateNewLayoutContainer(TSubclassOf<UDreamLayoutContainer> Class)callableCreate New Layout Container
UDreamLayoutSelf* CreateNewLayoutSelf(TSubclassOf<UDreamLayoutSelf> Class)callableCreate New Layout Self
UDreamPanelSlot* CreateNewPanelSlot(TSubclassOf<UDreamPanelSlot> SlotClass)callableCreate New Panel Slot
UDreamVisual* CreateNewVisual(TSubclassOf<UDreamVisual> VisualClass)callableCreate New Visual
void DestroyAllChildren()callableDestroy every child and their subtrees. Named for what it does: UMG's ClearChildren merely detaches and lets GC take the pieces, which here would leave live registered widgets behind with nobody holding them.
bool DestroyChild(UDreamWidget* InChild)callableDetach and destroy a child, and everything below it. Use this when you are finished with it. "Destroy" is DestroyWidget's sense of the word: IsValid(InChild) answers false afterwards.
void DestroyWidget()callableTear this widget and its whole subtree down: unregister, detach from the parent, end play, and mark every widget in it as garbage.
TArray<UDreamWidget*> FindChildArrayByDisplayName(FString InName, bool IncludeChildren)pureLike "FindChildByDisplayName", but return all children that match the case. @param InName The child's name that need to find, case sensitive @param IncludeChildren Also search in children
UDreamWidget* FindChildByDisplayName(FString InName, bool IncludeChildren)pureSearch in children and return the first UIItem that the displayName match input name. Support hierarchy nested search, eg: InName = "Content/ListItem/NameLabel". @param InName The child's name that need to find, case sensitive @param IncludeChildren Also search in children
void ForceLayoutPrepass()callableLay this widget's tree out NOW rather than on the next pass -- UMG's ForceLayoutPrepass.
EDreamAccessibleBehavior GetAccessibleBehavior()pureGet Accessible Behavior
FText GetAccessibleSummaryText()pureGet Accessible Summary Text
FText GetAccessibleText()pureGet Accessible Text
TArray<UDreamUIBehaviour*> GetAllComponents()pureGet All Components
FDreamUIAnchorData GetAnchorData()pureGet Anchor Data
FVector2D GetAnchoredPosition()pureGet Anchored Position
FVector2D GetAnchorMax()pureGet Anchor Max
FVector2D GetAnchorMin()pureGet Anchor Min
FMargin GetAnchorOffset()pureGet Anchor Offset
float GetAnchorOffsetBottom()pureGet Anchor Offset Bottom
float GetAnchorOffsetLeft()pureGet Anchor Offset Left
float GetAnchorOffsetRight()pureGet Anchor Offset Right
float GetAnchorOffsetTop()pureGet Anchor Offset Top
USceneComponent* GetAttachedRootSceneComponent()pureGet Attached Root Scene Component
UDreamWidget* GetChildByIndex(int32 index)pureGet Child by Index
int32 GetChildIndex(UDreamWidget* InChild)purePosition of InChild among this widget's children, or INDEX_NONE if it is not one.
TArray<UDreamWidget*> GetChildren()pureGet Children
int32 GetChildrenCount()pureGet Children Count
bool GetChildrenHitTestVisibleInHierarchy()pureGet Children Hit Test Visible in Hierarchy
EDreamWidgetClipping GetClipping()pureGet Clipping
FVector4f GetClippingCornerRadius()pureGet Clipping Corner Radius
FMargin GetClippingMargin()pureGet Clipping Margin
UDreamUIBehaviour* GetComponent(TSubclassOf<UDreamUIBehaviour> ComponentClass)pureGet Component
UDreamUIBehaviour* GetComponentByInterface(UClass* InterfaceClass)pureGet Component by Interface
TArray<UDreamUIBehaviour*> GetComponents(TSubclassOf<UDreamUIBehaviour> ComponentClass)pureGet Components
FLinearColor GetContentTint()pureGet Content Tint
TEnumAsByte<EMouseCursor::Type> GetCursor()pureGet Cursor
FVector2D GetDesiredSize()pureHow big this widget WANTS to be, as its parent panel would measure it.
FString GetDisplayName()pureGet Display Name
float GetFinalRenderOpacity()pureRetrieves the final opacity value used during rendering for this widget, considering all relevant settings and parent opacity. This value is influenced by the widget's own RenderOpacity property and hierarchical parent RenderOpacity.
int32 GetFlattenHierarchyIndex()pureGet index order of the widget from top most widget in flatten hierarchy.
EDreamFlowDirectionPreference GetFlowDirectionPreference()pureGet Flow Direction Preference
FVector GetForwardVector()pureGet Forward Vector
UGameInstance* GetGameInstance()pureGet Game Instance
float GetHeight()pureGet Height
bool GetHitTestVisibleInHierarchy()pureGet Hit Test Visible in Hierarchy
float GetHorizontalAnchoredPosition()pureGet Horizontal Anchored Position
bool GetIgnoreLayout()pureGet Ignore Layout
FLinearColor GetInheritedContentTint()pureThe product of every ancestor's ContentTint, this widget's own left out: what this widget's visual is tinted by. White when none tints.
EDreamWidgetInteractableType GetInteractable()pureGet Interactable
bool GetInteractableInHierarchy()pureGet if this widget is interactable when use input interaction, considering all parent settings. @return If this widget is interactable
bool GetIsEnabled()pureThis widget's own enabled switch. Ask GetIsEnabledInHierarchy for the answer that counts.
bool GetIsEnabledInHierarchy()pureTrue when this widget and every ancestor are enabled. The cascaded answer.
bool GetIsFocusable()pureGet Is Focusable
bool GetIsTabStop()pureSee bIsTabStop.
UDreamLayoutContainer* GetLayoutContainer()pureGet Layout Container
UDreamLayoutSelf* GetLayoutSelf()pureGet Layout Self
bool GetLayoutVisibleInHierarchy()pureHidden still participates in layout; Collapsed does not.
float GetLocalSpaceBottom()pureGet Local Space Bottom
FVector2D GetLocalSpaceCenter()pureGet Local Space Center
float GetLocalSpaceLeft()pureGet Local Space Left
FVector2D GetLocalSpaceLeftBottomPoint()pureGet Local Space Left Bottom Point
float GetLocalSpaceRight()pureGet Local Space Right
FVector2D GetLocalSpaceRightTopPoint()pureGet Local Space Right Top Point
float GetLocalSpaceTop()pureGet Local Space Top
int32 GetMaxChildrenCapacity()pureMinimum child capacity imposed by the current LayoutContainer and Behaviours. INDEX_NONE is unlimited.
UDreamWidgetNavigation* GetNavigation()pureThis widget's per-direction navigation rules, or null when it has none.
EDreamUINavigationBoundaryRule GetNavigationBoundaryRule()pureGet Navigation Boundary Rule
UDreamWidgetNavigation* GetOrCreateNavigation()callableThe rules, creating an untouched set if this widget had none. Never null on a live widget.
ULocalPlayer* GetOwningLocalPlayer()pureGet Owning Local Player
APlayerController* GetOwningPlayer()pureThe local player this widget belongs to: the nearest user widget above it owns it, and a tree with no user widget in it belongs to the first local player, which is the whole answer in a single-player game.
int32 GetOwningPlayerIndex()pureThe local player INDEX this widget's screen, focus and input use -- the same number a UDreamEventSystem, a raycaster and a pointer event all carry. 0 when it cannot be resolved.
UDreamPanelSlot* GetPanelSlot()pureGet Panel Slot
UDreamWidget* GetParent()pureGet Parent
FString GetPathDisplayName(UObject* StopOuter)pureGet Path Display Name
bool GetPerspective()pureGet Perspective
float GetPerspectiveDistance()pureThe eye distance the field of view works out to against the current width.
float GetPerspectiveFieldOfView()pureGet Perspective Field Of View
FVector2D GetPerspectiveOrigin()pureGet Perspective Origin
FVector2D GetPivot()pureGet Pivot
EWidgetPixelSnapping GetPixelSnapping()pureGet Pixel Snapping
bool GetPixelSnappingInHierarchy()pureGet Pixel Snapping in Hierarchy
EDreamWidgetRaycastableType GetRaycastable()pureGet Raycastable
bool GetRaycastableInHierarchy()pureGet Raycastable in Hierarchy
FVector GetRelativeLocation()pureGet Relative Location
FQuat GetRelativeRotation()pureGet Relative Rotation
FRotator GetRelativeRotationEuler()pureEuler-angle mirror of GetRelativeRotation, for animating rotation through Sequencer.
FVector GetRelativeScale()pureGet Relative Scale
UDreamCanvas* GetRenderCanvas()pureGet the canvas that render and update this UI element
EDreamWidgetRenderLayer GetRenderLayerMode()pureWhether this widget may be a render layer of its canvas, and when. IsRenderLayer says whether it is one now.
float GetRenderOpacity()pureGet Render Opacity
FRotator GetRenderRotation()pureGet Render Rotation
FVector GetRenderScale()pureGet Render Scale
FVector2D GetRenderShear()pureThe slant applied when this widget and everything under it are DRAWN -- UMG's FWidgetTransform::Shear, in degrees, about this widget's own pivot.
float GetRenderTransformAngle()pureGet Render Transform Angle
FVector2D GetRenderTransformPivot()pureGet Render Transform Pivot
FVector GetRenderTranslation()pureGet Render Translation
bool GetRenderVisibleInHierarchy()pureGet Render Visible in Hierarchy
EDreamFlowDirection GetResolvedFlowDirection()pureWhich way this widget's layout actually flows, after following Inherit up the parent chain.
bool GetRestrictNavigationArea()pureGet Restrict Navigation Area
UDreamWidget* GetRestrictNavigationAreaWidget()pureSearch up parent DreamWidget which bRestrictNavigationArea is true and return it, include this DreamWidget self
FVector GetRightVector()pureGet Right Vector
UDreamCanvas* GetRootCanvas()pureGet root canvas of hierarchy
UDreamWidget* GetRootWidgetInHierarchy()purereturn root Widget in hierarchy, could be null if not initialized yet.
bool GetShown()pureAnything but Collapsed. See Shown.
int32 GetSiblingIndex()pureGet Sibling Index
FVector2D GetSize()pureGet Size
FVector2D GetSizeDelta()pureGet Size Delta
int32 GetTabIndex()pureSee TabIndex.
EDreamWidgetTabNavigation GetTabNavigation()pureSee TabNavigation.
FText GetToolTipText()pureGet Tool Tip Text
TSubclassOf<UDreamUserWidget> GetToolTipWidgetClass()pureGet Tool Tip Widget Class
FVector GetUpVector()pureGet Up Vector
float GetVerticalAnchoredPosition()pureGet Vertical Anchored Position
EDreamWidgetVisibility GetVisibility()pureGet Visibility
UDreamVisual* GetVisual()pureGet Visual
bool GetWidgetActive()pureGet WidgetActive property value @return WidgetActive self property
bool GetWidgetActiveInHierarchy()pureGet widget active in hierarchy @return Is widget active in hierarchy
float GetWidth()pureGet Width
FVector GetWorldLocation()pureGet World Location
FQuat GetWorldRotation()pureGet World Rotation
FVector GetWorldScale()pureGet World Scale
FTransform GetWorldTransform()pureGet World Transform
bool HasAnyChildren()pureHas Any Children
bool HasAnyUserFocus()pureDoes ANY local player's focus sit on this widget?
bool HasChild(UDreamWidget* InChild)pureHas Child
bool HasFocus(int32 UserIndex, int32 PointerId)pureHas Focus
bool HasFocusedDescendants()pureDoes any local player's focus sit on something BELOW this widget? UMG spells it the same way.
bool HasInheritedPerspective()pureTrue when an ANCESTOR declares one. Distinct from HasPerspectiveApplied, which includes this widget's own.
bool HasKeyboardFocus()pureHas Keyboard Focus
bool HasMouseCapture()pureIs a pointer holding its button down on this widget? The nearest thing this framework has to Slate's mouse capture: there is no capture object here, but a pressed pointer's PressWidget is exactly who keeps receiving its drag and its release, which is what capture means to a caller.
bool HasMouseCaptureByUser(int32 InUserIndex, int32 InPointerIndex)pureSame question for one player, and optionally one pointer. -1 means any of that player's pointers.
bool HasOwnRenderShear()pureThis widget's own shear, ignoring the chain.
bool HasPanelSlots()pureWhether this widget's layout container hands its children a UDreamPanelSlot. This is the question behind AddChild returning null: a widget can take children with no container at all, and the Dream flex box and grid arrange children without slots, so "arranges children" and "has slots" are not the same thing.
bool HasPerspectiveApplied()pureTrue when a scope shapes THIS widget's own geometry -- its own declaration or an ancestor's. A widget is inside its own perspective: the scope's plane is taken from where layout put the widget, so its own render rotation is measured against that plane and foreshortens like anything else. A widget with no render transform is flat in that plane and comes back untouched, so switching Perspective on still changes nothing until something gains depth.
bool HasPerspectiveInHierarchy()pureTrue when this widget or any ancestor declares a perspective. One bit, kept up to date with the transform.
bool HasRenderTransform()pureTrue while any render channel is off its default, i.e. while drawing differs from layout.
bool HasShearApplied()pureTrue when this widget or any ancestor is sheared -- the bit that chooses the matrix path.
bool HasUserFocus(APlayerController* InPlayerController)pureHas User Focus
bool HasUserFocusedDescendants(APlayerController* InPlayerController)pureHas User Focused Descendants
UDreamTweener* HeightTo(float endValue, float duration, float delay, EDreamTweenEase ease)callableHeight To
UDreamTweener* HorizontalAnchoredPositionTo(float endValue, float duration, float delay, EDreamTweenEase ease)callableHorizontal Anchored Position To
void InvalidateLayoutAndVolatility()callableAsk for a layout pass on this widget next frame. UMG's name; the volatility half of it has no counterpart here and is not implied -- see the parity table.
bool IsChildOf(UDreamWidget* InTarget)pureRecurses up the list of parents and returns true if this widget is a descendant of the InTarget.
bool IsHovered()pureIs a pointer over this widget -- or over anything inside it? UMG's IsHovered, and hover reaching ancestors is what makes a button's own hover survive the pointer being over its label.
bool IsInViewport()pureIs this widget, or something it hangs under, currently on a player's screen?
bool IsPointVisibleOnClip(FVector Value)pureIs Point Visible on Clip
bool IsRendered()pureVisible AND actually contributing colour. A subtree faded to nothing is visible but not rendered.
bool IsRenderTargetUI()pureIs this UI element render to a RenderTarget?
bool IsScreenSpaceOverlayUI()pureIs this UI element render to screen space overlay?
bool IsVisible()pureUMG's IsVisible. The hierarchy is folded in, unlike UMG's, which asks only this widget: the cascaded answer is the one already cached here and the one every caller means by "on screen".
bool IsWorldSpaceUI()pureIs this UI element render in world space?
UDreamTweener* LocalPositionTo(FVector endValue, float duration, float delay, EDreamTweenEase ease)callableLocal Position To
UDreamTweener* LocalPositionXTo(double endValue, float duration, float delay, EDreamTweenEase ease)callableLocal Position X To
UDreamTweener* LocalPositionYTo(double endValue, float duration, float delay, EDreamTweenEase ease)callableLocal Position Y To
UDreamTweener* LocalPositionZTo(double endValue, float duration, float delay, EDreamTweenEase ease)callableLocal Position Z To
UDreamTweener* LocalRotationQuaternionTo(FQuat endValue, float duration, float delay, EDreamTweenEase ease)callableRotate absolute quaternion rotation value
UDreamTweener* LocalRotatorTo(FRotator endValue, bool shortestPath, float duration, float delay, EDreamTweenEase ease)callableRotate absolute rotator value
UDreamTweener* LocalScaleTo(FVector endValue, float duration, float delay, EDreamTweenEase ease)callableLocal Scale To
UDreamTweener* LocalUniformScaleTo(float endValue, float duration, float delay, EDreamTweenEase ease)callableLocal Uniform Scale To
void MarkLayoutForRebuild(UDreamWidget* InWidget)callableMark Layout for Rebuild
void MoveComponentToIndex(UDreamUIBehaviour* Component, int32 NewIndex)callableMove Component to Index
void RebuildLayoutImmediately(UDreamWidget* InWidget)callableRebuild Layout Immediately
bool RemoveChild(UDreamWidget* InChild)callableDetach a child and leave it alive: still registered, subtree intact, ready to be added somewhere else. It goes back to the not-yet-added state a freshly created widget is in, so it draws nothing and its behaviours are disabled in the meantime -- which is what makes this the verb to pool with, and why a pooled widget still shows up as held rather than leaked.
bool RemoveChildAt(int32 InIndex)callableRemove Child At
void RemoveComponent(UDreamUIBehaviour* Component)callableRemove Component
bool RemoveFromParent()callableTake THIS widget off whatever it is attached to, and stay alive -- UMG's RemoveFromParent, from the child's side. Returns false when it was not attached to anything.
void RemoveLayoutContainer()callableRemove Layout Container
void RemoveLayoutSelf()callableRemove Layout Self
void RemovePanelSlot()callableRemove Panel Slot
void RemoveVisual()callableRemove Visual
UDreamTweener* RenderAngleTo(float endValue, float duration, float delay, EDreamTweenEase ease)callableRender Angle To
UDreamTweener* RenderOffsetTo(FVector2D endValue, float duration, float delay, EDreamTweenEase ease)callableRender Offset To
UDreamTweener* RenderOpacityTo(float endValue, float duration, float delay, EDreamTweenEase ease)callableRender Opacity To
UDreamTweener* RenderScaleTo(FVector endValue, float duration, float delay, EDreamTweenEase ease)callableRender Scale To
UDreamTweener* RenderTranslationTo(FVector endValue, float duration, float delay, EDreamTweenEase ease)callableThe render transform's tweens: they move, scale and turn what is drawn and hit and never the layout, so they are the ones for a widget a panel places -- a row of a vertical box sliding in, a tab nudged aside, a line growing from its left. The anchored-position and size tweens above write the widget's layout instead, which its panel overrides on its next pass. RenderTranslationTo is in local space (X depth, Y right, Z up); RenderOffsetTo is the same move on the canvas plane (x right, y up), depth kept; RenderAngleTo is the in-plane angle (SetRenderTransformAngle).
void ResetCursor()callableBack to having no opinion, so an ancestor's cursor shows through again. UMG's ResetCursor.
void SetAccessibleBehavior(EDreamAccessibleBehavior Value)callableSet Accessible Behavior
void SetAccessibleSummaryText(FText Value)callableSet Accessible Summary Text
void SetAccessibleText(FText Value)callableSet Accessible Text
void SetAnchorData(FDreamUIAnchorData Value)callableSet Anchor Data
void SetAnchoredPosition(FVector2D Value)callableSet Anchored Position
void SetAnchoredPositionAndSizeDelta(FVector2D Position, FVector2D Size)callableSet Anchored Position and Size Delta
void SetAnchorMax(FVector2D Value)callableSet Anchor Max
void SetAnchorMin(FVector2D Value)callableSet Anchor Min
void SetAnchorOffset(FMargin Value)callableSet Anchor Offset
void SetAnchorOffsetBottom(float Value)callableThis function only valid if UIItem have parent
void SetAnchorOffsetLeft(float Value)callableThis function only valid if UIItem have parent
void SetAnchorOffsetRight(float Value)callableThis function only valid if UIItem have parent
void SetAnchorOffsetTop(float Value)callableThis function only valid if UIItem have parent
void SetAsFirstSibling()callableSet as First Sibling
void SetAsLastSibling()callableSet as Last Sibling
void SetClipping(EDreamWidgetClipping Value)callableSet Clipping
void SetClippingCornerRadius(FVector4f Value)callableSet Clipping Corner Radius
void SetClippingMargin(FMargin Value)callableSet Clipping Margin
void SetContentTint(FLinearColor Value)callableTint everything drawn below this widget -- its descendants' visuals, never its own -- as UMG's content colour does (a border's ContentColorAndOpacity reaching its child, SCompoundWidget's ColorAndOpacity). Multiplied in linear space, with every ancestor's, into each descendant visual's UDreamVisual::GetFinalColor; marks their colours dirty. White changes nothing.
void SetCursor(TEnumAsByte<EMouseCursor::Type> Value)callableThe cursor to show while the pointer is over this widget. Default means "no opinion" and lets whatever is underneath claim it, which is why there is no separate override flag here as there is in UMG -- DreamPointerPolicy::ResolveCursor walks the hover stack innermost first and takes the first widget with an opinion.
void SetDisplayName(FString InName)callableSet Display Name
void SetFlowDirectionPreference(EDreamFlowDirectionPreference Value)callableChanging this re-arranges this widget and every descendant that inherits the answer from it.
bool SetFocus(int32 UserIndex, int32 PointerId)callableSet Focus
void SetHeight(float Value)callableSet Height
void SetHorizontalAnchoredPosition(float Value)callableSet Horizontal Anchored Position
void SetHorizontalAnchorMinMax(FVector2D Value, bool bKeepSize, bool bKeepRelativeLocation)callableSet Horizontal Anchor Min Max
void SetHorizontalAndVerticalAnchorMinMax(FVector2D MinValue, FVector2D MaxValue, bool bKeepSize, bool bKeepRelativeLocation)callableSet Horizontal and Vertical Anchor Min Max
void SetIgnoreLayout(bool Value)callableSet Ignore Layout
void SetInteractable(EDreamWidgetInteractableType Value)callableSet Interactable
void SetIsEnabled(bool bInIsEnabled)callableDisable (or re-enable) this widget and everything under it: the subtree stops taking input and every control in it takes on its disabled look, because both read GetInteractableInHierarchy and this is AND-ed into it.
void SetIsFocusable(bool Value)callableTurning this off also gives up any focus the widget currently holds.
void SetIsTabStop(bool Value)callableSet Is Tab Stop
bool SetKeyboardFocus()callableTake focus on the owning player's event system. Returns false when it could not be given.
void SetNavigationBoundaryRule(EDreamUINavigationBoundaryRule Value)callableSet Navigation Boundary Rule
void SetParent(UDreamWidget* InParent, bool InKeepWorldPosition, int32 InSiblingIndex)callableSet parent of this widget, could use null to detach it from origin parent. @InKeepWorldPosition true - keep world position & rotation & scale after change parent, false - keep relative position & rotation & scale. @InSiblingIndex if InParent is a valid widget, then put the widget at specific index in parent's children list, -1 or other out of range value means the widget will be put at tail.
void SetPerspective(bool Value)callableSet Perspective
void SetPerspectiveFieldOfView(float Value)callableSet Perspective Field Of View
void SetPerspectiveOrigin(FVector2D Value)callableSet Perspective Origin
void SetPivot(FVector2D Value)callableSet Pivot
void SetPixelSnapping(EWidgetPixelSnapping Value)callableSet Pixel Snapping
void SetPositionAndSizeForLayoutAnimation(FVector2D Position, FVector2D Size)callableSet Position and Size for Layout Animation
void SetPositionForLayoutAnimation(FVector2D Position)callableSet Position for Layout Animation
void SetRaycastable(EDreamWidgetRaycastableType Value)callableSet Raycastable
void SetRelativeLocation(FVector Value)callableSet Relative Location
void SetRelativeLocationAndRotation(FVector InLocation, FQuat InRotation)callableSet Relative Location and Rotation
void SetRelativeRotation(FQuat Value)callableSet Relative Rotation
void SetRelativeRotationEuler(FRotator Value)callableSet rotation from euler angles. This is the rotation entry point Sequencer drives.
void SetRelativeScale(FVector Value)callableSet Relative Scale
void SetRenderLayerMode(EDreamWidgetRenderLayer Value)callableWhether this widget may be a render layer of its canvas, and when; its canvas makes it one, or takes it back, at its next update.
void SetRenderOpacity(float Value)callableSet Render Opacity
void SetRenderRotation(FRotator Value)callableSet Render Rotation
void SetRenderScale(FVector Value)callableSet Render Scale
void SetRenderShear(FVector2D Value)callableSet Render Shear
void SetRenderTransformAngle(float InAngle)callableThe in-plane rotation, in degrees -- UMG's render transform angle.
void SetRenderTransformPivot(FVector2D Value)callableSet Render Transform Pivot
void SetRenderTranslation(FVector Value)callableSet Render Translation
void SetRestrictNavigationArea(bool Value)callableSet Restrict Navigation Area
void SetShown(bool Value)callableVisible when true, Collapsed when false; a shown widget that is Hidden or hit-test invisible keeps that. See Shown.
void SetSiblingIndex(int32 Value)callableSet the sibling index of this widget in its parent's children list.
void SetSizeDelta(FVector2D Value)callableSet Size Delta
void SetSizeForLayoutAnimation(FVector2D Position)callableSet Size for Layout Animation
void SetTabIndex(int32 Value)callableSet Tab Index
void SetTabNavigation(EDreamWidgetTabNavigation Value)callableSet Tab Navigation
void SetToolTipText(FText Value)callableSet Tool Tip Text
void SetToolTipWidgetClass(TSubclassOf<UDreamUserWidget> Value)callableUMG's SetToolTip, by class. Null goes back to the text bubble.
bool SetUserFocus(APlayerController* InPlayerController)callableTake focus on a named player's event system.
void SetVerticalAnchoredPosition(float Value)callableSet Vertical Anchored Position
void SetVerticalAnchorMinMax(FVector2D Value, bool bKeepSize, bool bKeepRelativeLocation)callableSet Vertical Anchor Min Max
void SetVisibility(EDreamWidgetVisibility Value)callableSet Visibility
void SetWidgetActive(bool Value)callableSet WidgetActive self property @param Value
void SetWidgetTweenerAffectByGamePauseAndTimeDilation(UDreamWidget* Widget, UDreamTweener* Tweener)callableSet Widget Tweener Affect by Game Pause and Time Dilation
void SetWidth(float Value)callableSet Width
void SetWorldLocation(FVector Value)callableSet World Location
void SetWorldLocationAndRotation(FVector InLocation, FQuat InRotation)callableSet World Location and Rotation
void SetWorldRotation(FQuat Value)callableSet World Rotation
UDreamTweener* SizeDeltaTo(FVector2D endValue, float duration, float delay, EDreamTweenEase ease)callableSize Delta To
bool SupportsKeyboardFocus()pureUMG's SupportsKeyboardFocus: the same answer as GetIsFocusable, under the name UMG uses.
bool TrySetParent(UDreamWidget* InParent, bool InKeepWorldPosition, int32 InSiblingIndex)callableSame operation as SetParent, but reports capacity/cycle rejection to the caller.
UDreamTweener* VerticalAnchoredPositionTo(float endValue, float duration, float delay, EDreamTweenEase ease)callableVertical Anchored Position To
UDreamTweener* WidthTo(float endValue, float duration, float delay, EDreamTweenEase ease)callableWidth To
UDreamTweener* WorldPositionTo(FVector endValue, float duration, float delay, EDreamTweenEase ease)callableWorld Position To
UDreamTweener* WorldPositionXTo(double endValue, float duration, float delay, EDreamTweenEase ease)callableWorld Position X To
UDreamTweener* WorldPositionYTo(double endValue, float duration, float delay, EDreamTweenEase ease)callableWorld Position Y To
UDreamTweener* WorldPositionZTo(double endValue, float duration, float delay, EDreamTweenEase ease)callableWorld Position Z To
UDreamTweener* WorldRotationQuaternionTo(FQuat endValue, float duration, float delay, EDreamTweenEase ease)callableRotate absolute quaternion rotation value
UDreamTweener* WorldRotatorTo(FRotator endValue, bool shortestPath, float duration, float delay, EDreamTweenEase ease)callableRotate absolute rotator value

Events

EventSignatureDescription
OnVisibilityChangedvoid DreamWidgetVisibilityChangedEvent__DelegateSignature(EDreamWidgetVisibility Visibility)
OnFocusReceivedvoid DreamWidgetFocusEvent__DelegateSignature(int32 UserIndex, int32 PointerId)Public, the way UMG's are: a delegate a Blueprint can bind is one C++ should be able to bind too, and a control that relays focus from one of its parts raises these on itself.
OnFocusLostvoid DreamWidgetFocusEvent__DelegateSignature(int32 UserIndex, int32 PointerId)

Compared with UMG

Every Blueprint-facing member of the UMG class, and where it went. adopt: same name, same meaning. map: here under another name or on another type. reject: deliberately absent, with the reason.

UMGMemberStatusHereNote
UWidgetSlotmapPanelSlotOne UDreamPanelSlot class for every panel instead of a slot class per panel, so there is nothing to cast. GetPanelSlot / CreateNewPanelSlot / HasPanelSlots are the verbs.
UWidgetToolTipTextadoptToolTipTextDrawn by UDreamUITooltipSubsystem, which resolves the nearest ancestor offering text or a tooltip widget.
UWidgetToolTipWidgetmapToolTipWidgetClassA CLASS, not an instance: the tooltip service instantiates its content when the bubble appears and destroys it when the bubble goes, so nothing is kept alive per host for a bubble shown seconds at a time.
UWidgetRenderTransformmapRenderTranslationSplit into RenderTranslation / RenderRotation / RenderScale / RenderTransformPivot / RenderShear, and 3D rather than UMG's FWidgetTransform, because the authored transform it mirrors is FVector/FQuat/FVector. RenderShear is stored apart from the other three and is NOT part of HasRenderTransform: those three compose into an FTransform and a shear cannot survive that trip, so it is applied on the matrix path instead.
UWidgetRenderTransformPivotadoptRenderTransformPivotNormalized in the widget's own rect with (0,0) at bottom-left, matching AnchorData.Pivot rather than UMG's top-left origin.
UWidgetFlowDirectionPreferenceadoptFlowDirectionPreferenceEDreamFlowDirectionPreference mirrors EFlowDirectionPreference value for value. GetResolvedFlowDirection is the resolved answer; a tree that states nothing reads left to right, because DreamGUI never joins Slate's paint pass and so cannot read GSlateFlowDirection meaningfully.
UWidgetbIsEnabledadoptbIsEnabledAND-ed into the existing three-valued Interactable cascade, so GetInteractableInHierarchy -- which input, navigation and every control's disabled look already read -- is the single answer. A disabled ancestor outranks a descendant pinned Interactable=Enabled. GetIsEnabledInHierarchy is the cascaded query.
UWidgetbOverrideAccessibleDefaultsrejectThere is no Slate accessible-widget layer here to take defaults FROM: a DreamGUI widget is a mesh, not an SWidget, so accessibility is the AccessibleBehavior/AccessibleText pair on the widget itself and there is nothing for an override flag to switch between.
UWidgetbCanChildrenBeAccessiblerejectSame reason: no accessible widget tree is built, so there is no child accessibility to suppress. AccessibleBehavior=NotAccessible is the per-widget answer.
UWidgetAccessibleBehavioradoptAccessibleBehaviorEDreamAccessibleBehavior mirrors ESlateAccessibleBehavior's Auto/NotAccessible/Summary/Custom.
UWidgetAccessibleSummaryBehaviormapAccessibleBehaviorOne behaviour covers both texts here rather than two: AccessibleBehavior=Summary announces AccessibleSummaryText, Custom announces AccessibleText.
UWidgetAccessibleTextadoptAccessibleText
UWidgetAccessibleSummaryTextadoptAccessibleSummaryText
UWidgetbIsVolatilerejectVolatility is a Slate invalidation-panel concept -- 'do not cache this widget's draw elements'. DreamGUI rebuilds draw calls from its own dirty flags and has no cached element list to opt out of.
UWidgetCursoradoptCursorResolved per frame by DreamPointerPolicy::ResolveCursor over the hover stack, innermost first; EMouseCursor::Default means 'no opinion', which is why there is no separate bOverride_Cursor.
UWidgetClippingadoptClippingEDreamWidgetClipping mirrors EWidgetClipping; ClippingCornerRadius and ClippingMargin are extra.
UWidgetVisibilityadoptVisibilityEDreamWidgetVisibility maps ESlateVisibility one for one (Visible/Hidden/Collapsed/HitTestInvisible/SelfHitTestInvisible). Hit testing is additionally gated by Raycastable, which has no UMG counterpart, and by WidgetActive, which is the behaviour lifecycle switch.
UWidgetPixelSnappingadoptPixelSnappingThe engine's own EWidgetPixelSnapping type.
UWidgetRenderOpacityadoptRenderOpacityInherited down the tree here; GetFinalRenderOpacity is the accumulated answer.
UWidgetNavigationmapGetOrCreateNavigationThe per-direction rules live on a UDreamWidgetNavigation behaviour, as UMG hangs them off a UWidgetNavigation object. GetNavigation reads it, GetOrCreateNavigation makes one.
UWidgetSetRenderTransformmapSetRenderTranslationFour channel setters instead of one FWidgetTransform: SetRenderTranslation, SetRenderRotation, SetRenderScale, SetRenderTransformPivot, plus ClearRenderTransform to put them all back.
UWidgetSetRenderScaleadoptSetRenderScaleTakes an FVector, not an FVector2D: this framework's widgets are 3D and world-space canvases exist.
UWidgetSetRenderShearadoptSetRenderShearRides the matrix path that a perspective scope already uses, because a perspective remap IS a shear and the vertex transform had to grow that branch for it. An unsheared tree still takes the FTransform branch, byte for byte. Two differences from UMG, both noted on the property: layout never sees it, and HIT TESTING DOES NOT FOLLOW -- the raycaster switches to the matrix only inside a perspective scope, so a sheared widget is clicked on its un-slanted rect.
UWidgetSetRenderTransformAngleadoptSetRenderTransformAngleWrites the Roll channel of RenderRotation -- depth runs along local X here, so roll is the rotation that keeps a widget flat against the canvas. Pitch and yaw are left alone.
UWidgetGetRenderTransformAngleadoptGetRenderTransformAngle
UWidgetSetRenderTranslationadoptSetRenderTranslationTakes an FVector. Negative X brings a widget toward the viewer.
UWidgetSetRenderTransformPivotadoptSetRenderTransformPivot
UWidgetGetIsEnabledadoptGetIsEnabledThis widget's own switch; GetIsEnabledInHierarchy is the cascaded answer.
UWidgetSetIsEnabledadoptSetIsEnabledVirtual, as UMG's is. Cascades through GetInteractableInHierarchy, which is what input, navigation and the controls' disabled look already read.
UWidgetIsInViewportadoptIsInViewportWalks up to the nearest tracked page, because the caller is usually a widget several levels inside one.
UWidgetSetToolTipTextadoptSetToolTipText
UWidgetSetToolTipmapSetToolTipWidgetClassBy class rather than by instance; see the ToolTipWidget row.
UWidgetSetCursoradoptSetCursor
UWidgetResetCursoradoptResetCursorBack to EMouseCursor::Default, which here means 'no opinion' rather than 'force the arrow'.
UWidgetIsRenderedadoptIsRenderedVisible AND contributing colour: a subtree faded to zero opacity is visible but not rendered.
UWidgetIsVisibleadoptIsVisibleThe hierarchy is folded in, unlike UMG's, which asks only the widget itself. The cascaded answer is the one already cached and the one callers mean by 'on screen'.
UWidgetGetVisibilityadoptGetVisibility
UWidgetSetVisibilityadoptSetVisibility
UWidgetGetRenderOpacityadoptGetRenderOpacityGetFinalRenderOpacity is the same value with ancestors folded in.
UWidgetSetRenderOpacityadoptSetRenderOpacity
UWidgetGetClippingadoptGetClipping
UWidgetSetClippingadoptSetClipping
UWidgetForceVolatilerejectSee bIsVolatile: there is no cached Slate element list to opt a widget out of.
UWidgetIsHoveredadoptIsHoveredTrue for the widget under the pointer and for every ancestor it entered through, which is what Slate's hover propagation gives UMG for free. Asked of the owning player's event system.
UWidgetHasKeyboardFocusadoptHasKeyboardFocusMoved down from UDreamUserWidget so any widget can answer it. Uses the owning player's index rather than player zero.
UWidgetSupportsKeyboardFocusadoptSupportsKeyboardFocusThe same answer as GetIsFocusable, under UMG's name.
UWidgetHasMouseCaptureadoptHasMouseCaptureThere is no capture object here; a pointer still holding its button down on this widget is what capture means to a caller -- its drags and its release come here regardless of what it moves over.
UWidgetHasMouseCaptureByUseradoptHasMouseCaptureByUserPointer index -1 means any of that player's pointers, as in UMG.
UWidgetSetKeyboardFocusadoptSetKeyboardFocusReturns bool rather than UMG's void -- the pre-existing signature in this framework, kept.
UWidgetHasUserFocusadoptHasUserFocus
UWidgetHasAnyUserFocusadoptHasAnyUserFocusAsks every local player's event system.
UWidgetHasFocusedDescendantsadoptHasFocusedDescendantsStrictly descendants, as in UMG.
UWidgetHasUserFocusedDescendantsadoptHasUserFocusedDescendants
UWidgetSetFocusadoptSetFocusPre-existing, with UserIndex and PointerId defaulted, so a Blueprint calls it with no arguments as in UMG. Returns false when the widget cannot take focus.
UWidgetSetUserFocusadoptSetUserFocusReturns bool rather than void, matching SetFocus in this framework.
UWidgetForceLayoutPrepassadoptForceLayoutPrepassThe widget's own face on what UDreamUIBPLibrary::ForceLayoutPrepass already did.
UWidgetInvalidateLayoutAndVolatilityadoptInvalidateLayoutAndVolatilityThe layout half only; the volatility half is rejected for the reason on bIsVolatile.
UWidgetGetDesiredSizeadoptGetDesiredSizeAnswered by the parent panel, because measuring is a conversation between a container and its child. A widget with no measuring parent reports the size it has.
UWidgetSetAllNavigationRulesmapUDreamWidgetNavigation::SetAllNavigationRulesReach the component with UDreamWidget::GetOrCreateNavigation.
UWidgetSetNavigationRuleBasemapUDreamWidgetNavigation::SetRule
UWidgetSetNavigationRuleExplicitmapUDreamWidgetNavigation::SetExplicitTargetNull clears the direction back to Escape.
UWidgetSetNavigationRuleCustommapUDreamWidgetNavigation::SetCustomDelegate
UWidgetSetNavigationRuleCustomBoundarymapUDreamWidgetNavigation::SetNavigationRuleCustomBoundaryEDreamUINavigationRule::CustomBoundary, added at the END of the enum so no serialized value moved. The scan runs first and the delegate is asked only when it found nothing in that direction -- which is what 'the move left the area' means here. Distinct from Custom, which is asked for every move and so has to answer the ordinary steps too.
UWidgetGetParentadoptGetParentReturns a UDreamWidget: any widget can take children here, so there is no separate panel class to return.
UWidgetRemoveFromParentadoptRemoveFromParentLeaves the widget alive and parked, and frees its screen-page name if it had one.
UWidgetGetCachedGeometrymapUDreamUIWidgetGeometryLibrary::GetWidgetGeometryFDreamUIWidgetGeometry stands in for FGeometry. There is one geometry rather than three, because there is no deferred paint pass to lag behind the tick -- see the GetTickSpaceGeometry and GetPaintSpaceGeometry rows.
UWidgetGetTickSpaceGeometrymapUDreamUIWidgetGeometryLibrary::GetWidgetGeometrySame value as GetCachedGeometry: DreamGUI arranges and draws in one pass, so tick space and paint space cannot disagree.
UWidgetGetPaintSpaceGeometrymapUDreamUIWidgetGeometryLibrary::GetWidgetGeometrySame value as GetCachedGeometry, for the same reason.
UWidgetK2_AddFieldValueChangedDelegatemapUDreamUserWidget::K2_AddFieldValueChangedDelegateField notification is implemented by UDreamUserWidget, which is what a Blueprint author subclasses; a bare UDreamWidget has no compiled field list to notify about.
UWidgetK2_RemoveFieldValueChangedDelegatemapUDreamUserWidget::K2_RemoveFieldValueChangedDelegate
UWidgetK2_BroadcastFieldValueChangedmapUDreamUserWidget::K2_BroadcastFieldValueChangedBlueprintInternalUseOnly, as UMG marks it: the node an author uses is the one a field-notify property generates, not this by-name call. Same two guards as the add and the remove -- an id naming no field on this class is an authoring mistake, not a broadcast to nobody.
UWidgetGetGameInstanceadoptGetGameInstance
UWidgetGetOwningPlayeradoptGetOwningPlayerVirtual on UDreamWidget; UDreamUserWidget overrides it to check an explicitly set controller first.
UWidgetGetOwningLocalPlayeradoptGetOwningLocalPlayer
UWidgetGetAccessibleTextadoptGetAccessibleText
UWidgetGetAccessibleSummaryTextadoptGetAccessibleSummaryText

本页目录