---
title: Widgets
product: Advanced Framework Pro
version: 1.0
engine: Unreal Engine 5.8
updated: 2026-10-05
canonical: https://docs.human-codeable.com/plugins/widgets.html
---

System

# Widgets

#### What it gives you

—

#### Requires

None

#### Required by

None

61 assets228 API members

Note

Narrative documentation for this plugin is still being written. The API reference below is complete.

## API reference

Every blueprint asset in this plugin. Expand an asset to see its members.

### /

**WBP_3DUI_Button_Large**6 members

extends `UserWidget`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `SetButtonIcon` | `(Texture: Texture2D)` | — |
| event | `SetButtonText` | `(InText: text)` | — |
| event | `SetSelectedIcon` | `(Texture: Texture2D)` | — |
| event | `SetInvertColor` | `(Set: float)` | — |
| event | `SetSelected` | `(Set: float)` | — |
| event | `SetSelectedText` | `(SelectedText: text)` | — |

**WBP_3DUI_Button_Small**4 members

extends `UserWidget`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `SetIcon` | `(Texture: Texture2D)` | — |
| event | `SetInvertColor` | `(Set: float)` | — |
| event | `SetSelected` | `(Set: float)` | — |
| event | `SetSelectedIcon` | `(Texture: Texture2D)` | — |

**WBP_Camera_HUD**1 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `WidgetSwitcherVisibilityChanged` | `(Visible: bool)` | — |

**WBP_Camera_VR**0 members

extends `WBP_Base`

No editor-visible members; this asset configures defaults only.

**WBP_DesktopUI**5 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `OnSwitchDesktopMouse` | `()` | — |
| event | `OnVirtualMouseMoved` | `()` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `UpdateIdleScreen` | `()` | — |
| event | `UpdateMainWidget` | `()` | — |

**WBP_Display**3 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `On Page Updated` | `()` | — |
| event | `OnUpdateZoom` | `()` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

**WBP_Display_Page**0 members

extends `WBP_Base`

No editor-visible members; this asset configures defaults only.

**WBP_DistanceLabel**5 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `OnMouseEnter`Mouse | `(MyGeometry: Geometry, MouseEvent: PointerEvent)` | The system will use this event to notify a widget that the cursor has entered it. This event is NOT bubbled. @param MyGeometry The Geometry of the widget receiving the event @param MouseEvent Information about the input event |
| event | `OnMouseLeave`Mouse | `(MouseEvent: PointerEvent)` | The system will use this event to notify a widget that the cursor has left it. This event is NOT bubbled. @param MouseEvent Information about the input event |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `OnLengthUpdated_Event` | `()` | — |
| event | `UpdateText` | `(InText: text)` | — |

**WBP_HUD_Frame_Subtitle**2 members

extends `WBP_HUD_Frame`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getMainSlot` | `(out Slot: NamedSlot)` | — |
| fn | `GetAppearAnimation` | `(out Animation: WidgetAnimation)` | — |

**WBP_HUD_Subtitles**4 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `Spawn Subtitle` | `(SubtitleInfo: ST_Subtitle, out NewMessage: WBP_Subtitle)` | — |
| fn | `TickMessagePosition` | `(DeltaTime: float)` | — |
| event | `AssignCloseWidget` | `(Target: WBP_Subtitle)` | — |
| event | `OnDespawnSubtitle` | `(SubtitleWidget: WBP_Subtitle)` | — |

**WBP_LaserPointer_Desktop**2 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `WidgetSwitcherVisibilityChanged` | `(Visible: bool)` | — |
| event | `UpdateColor` | `()` | — |

**WBP_LaserPointer_VR**0 members

extends `WBP_Base`

No editor-visible members; this asset configures defaults only.

**WBP_Measuring_Desktop**2 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `WidgetSwitcherVisibilityChanged` | `(Visible: bool)` | — |
| event | `UpdateColor` | `()` | — |

**WBP_Measuring_VR**0 members

extends `WBP_Base`

No editor-visible members; this asset configures defaults only.

**WBP_Menu_DesktopUI**1 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

**WBP_Minimap_2D**10 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Size`Style | `Vector2D` | — |
| fn | `OnMouseButtonDown`Mouse | `(MyGeometry: Geometry, MouseEvent: PointerEvent) → EventReply` | The system calls this method to notify the widget that a mouse button was pressed within it. This event is bubbled. @param MyGeometry The Geometry of the widget receiving the event @param MouseEvent Information about the input event @return Whether the event was handled along with possible requests for the system to take action. |
| fn | `OnMouseMove`Mouse | `(MyGeometry: Geometry, MouseEvent: PointerEvent) → EventReply` | The system calls this method to notify the widget that a mouse moved within it. This event is bubbled. @param MyGeometry The Geometry of the widget receiving the event @param MouseEvent Information about the input event @return Whether the event was handled along with possible requests for the system to take action. |
| fn | `ProjectMapCoordinatesToRealWorld` | `(Value: Vector2D, out Coordinates: Vector2D)` | — |
| fn | `ProjectRealWorldCoordinatesToMap` | `(Value: Vector2D, out Coordinates: Vector2D)` | — |
| event | `InitializeWithBounds` | `(Bounds: BP_Minimap_Bounds)` | — |
| event | `Hover` | `(Impact Location X: float, Impact Location Y: float)` | — |
| event | `OnMinimapComponentAdded_Event` | `(MinimapComponent: BPC_MinimapElement)` | — |
| event | `OnMinimapComponentRemoved_Event` | `(MinimapComponent: BPC_MinimapElement)` | — |
| event | `Destruct`User Interface | `()` | Called when a widget is no longer referenced causing the slate resource to destroyed. Just like Construct this event can be called multiple times. |

**WBP_Minimap_3D**5 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Size`Style | `Vector2D` | — |
| fn | `getRelativeTransform`Default | `() → Transform` | — |
| fn | `OnMouseButtonDown`Mouse | `(MyGeometry: Geometry, MouseEvent: PointerEvent) → EventReply` | The system calls this method to notify the widget that a mouse button was pressed within it. This event is bubbled. @param MyGeometry The Geometry of the widget receiving the event @param MouseEvent Information about the input event @return Whether the event was handled along with possible requests for the system to take action. |
| fn | `OnMouseMove`Mouse | `(MyGeometry: Geometry, MouseEvent: PointerEvent) → EventReply` | The system calls this method to notify the widget that a mouse moved within it. This event is bubbled. @param MyGeometry The Geometry of the widget receiving the event @param MouseEvent Information about the input event @return Whether the event was handled along with possible requests for the system to take action. |
| event | `InitializeWithBounds` | `(Bounds: BP_Minimap_Bounds)` | — |

**WBP_Paintbrush_Desktop**8 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `WidgetSwitcherVisibilityChanged` | `(Visible: bool)` | — |
| event | `UpdateStrokeSize` | `()` | — |
| event | `UpdateColor` | `()` | — |
| event | `UpdateDrawingMode` | `()` | — |
| event | `UpdateDeleteMode` | `()` | — |
| event | `OnStrokeUpdated_Event_0` | `()` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `ConfirmationPressed_Event` | `(Confirm: bool)` | — |

**WBP_Paintbrush_VR**3 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `OnStrokeUpdated_Event_0` | `()` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `ConfirmationPressed_Event` | `(Confirm: bool)` | — |

**WBP_PhotoGallery**4 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getAllPhotosToDelete` | `(out Photos: BP_Photo[])` | — |
| fn | `getPhotoButtons` | `(Buttons: ST_Button_Content[])` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `OnGalleryUpdated_Event` | `()` | — |

**WBP_Question**6 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Question`Content | `PDA_Question` | — |
| var | `Show Answers`Settings | `bool` | — |
| var | `Show Hints`Settings | `bool` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `InitializeWithQuestion` | `(Question: PDA_Question, ShowAnswers: bool, ForceCorrect: bool, ShowHints: bool)` | — |
| event | `SubmitCurrentAnswers` | `()` | — |

**WBP_Quiz**2 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `QuizPageUpdated` | `()` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

**WBP_StickyNote_VR**1 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `SetText` | `(Spawner: Actor, Parent: SceneComponent)` | — |

**WBP_Subtitle**4 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Subtitle Info` | `ST_Subtitle` | — |
| fn | `getSubtitleFrame` | `(out MessageFrame: WBP_Subtitle_Frame)` | — |
| event | `Despawn` | `()` | — |
| event | `DespawnFinished_Event` | `()` | — |

**WBP_Subtitle_Default**2 members

extends `WBP_Subtitle`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getSubtitleFrame` | `(out MessageFrame: WBP_Subtitle_Frame)` | — |
| event | `UpdateBody` | `(Text: text)` | — |

**WBP_Subtitle_Frame**4 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `WidgetElement_getNamedSlots`Slots | `(out Slots: NamedSlot[])` | Returns the named slots this element exposes so that the tree walk can descend into their children. Return an empty list and the element is treated as a leaf, which means anything parented into a slot you do not list is never initiated or themed. |
| event | `InitiateSubtitleFrame` | `(Time: float)` | — |
| event | `Despawn` | `()` | — |
| event | `SetWidthOverride` | `(Active: bool, Width: float)` | — |

**WBP_Whiteboard_Panel**2 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `ConfirmationPressed_Event` | `(Confirm: bool)` | — |
| event | `ConfirmationPressed_Event_0` | `(Confirm: bool)` | — |

### Context

**WBP_QuizContext**1 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeQuizContext` | `(QuizPage: PDA_QuizPage)` | — |

**WBP_QuizContext_Image**1 members

extends `WBP_QuizContext`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeQuizContext` | `(QuizPage: PDA_QuizPage)` | — |

**WBP_QuizContext_MultipleImages**1 members

extends `WBP_QuizContext`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeQuizContext` | `(QuizPage: PDA_QuizPage)` | — |

**WBP_QuizContext_Text**1 members

extends `WBP_QuizContext`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeQuizContext` | `(QuizPage: PDA_QuizPage)` | — |

**WBP_QuizContext_TextImage**1 members

extends `WBP_QuizContext`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeQuizContext` | `(QuizPage: PDA_QuizPage)` | — |

### Cursor

**WBP_Cursor_Camera**1 members

extends `WBP_MouseCursor`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `OnColorUpdated_Event` | `()` | — |

**WBP_Cursor_LaserPointer**1 members

extends `WBP_MouseCursor`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `OnColorUpdated_Event` | `()` | — |

**WBP_Cursor_Measure**1 members

extends `WBP_MouseCursor`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `OnColorUpdated_Event` | `()` | — |

**WBP_Cursor_Paintbrush**3 members

extends `WBP_MouseCursor`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `OnColorUpdated_Event` | `()` | — |
| event | `OnDeleteModeUpdated_Event` | `()` | — |
| event | `OnStrokeSizeUpdated_Event` | `()` | — |

### Elements

**WBP_Button_Display**18 members

extends `WBP_Button`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Element ID`Screen UI | `name` | — |
| var | `Target Page`Screen UI | `class<WBP_Display_Page>` | — |
| fn | `getButtonAnimation_Custom`Get Animations | `(out CustomStateAnimation: WidgetAnimation)` | Returns the animation run forwards when the custom state is switched on and reversed when it is switched off. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Action`Get Animations | `(out ActionAnimation: WidgetAnimation)` | Returns the animation carrying the selected look, run forwards when the button becomes selected and reversed when the selection is cleared. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Hover`Get Animations | `(out HoverAnimation: WidgetAnimation)` | Returns the animation run forwards as the cursor enters and reversed as it leaves. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Deactivate`Get Animations | `(out DeactivateAnimation: WidgetAnimation)` | Returns the animation run forwards when the button is deactivated and reversed when it is activated again. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Click`Get Animations | `(out ClickAnimation: WidgetAnimation)` | Returns the animation run forwards while the button is held down and reversed on release. Empty on the base class; each button design overrides it with its own. |
| fn | `getSound_Pressed`Sound | `(out Sound: SoundBase)` | Returns the cue played when the button is pressed. Empty on the base class; designs override it, usually with a different cue per preset, and the Sound Press Override wins over it when set. |
| fn | `getSound_Hover`Sound | `(out Sound: SoundBase)` | Returns the cue played when the cursor first enters the button. Empty on the base class; designs override it, and the Sound Hover Override wins over it when set. |
| fn | `getSound_Deactivated`Sound | `(out Sound: SoundBase)` | Returns the cue played when a deactivated button is pressed. Empty on the base class; designs override it, and the Sound Blocked Override wins over it when set. |
| fn | `WidgetElement_getNamedSlots`Slots | `(out Slots: NamedSlot[])` | Returns the named slots this element exposes so that the tree walk can descend into their children. Return an empty list and the element is treated as a leaf, which means anything parented into a slot you do not list is never initiated or themed. |
| fn | `getButtonFrame`Get Elements | `(out ButtonFrame: WBP_ButtonFrame)` | Returns the frame widget wrapping this button's content and holding its size box. Empty on the base class; each button design overrides it, and Style Button Frame needs it to apply the width and height overrides. |
| event | `SequenceEvent_Action` | `()` | — |
| event | `SequenceEvent_Hover` | `()` | — |
| event | `SequenceEvent_Custom` | `()` | — |
| event | `OnHighlightElementsUpdated_Event` | `()` | — |
| event | `OnClicked_Event` | `(Button: WBP_Button)` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

**WBP_MinimapElement**12 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Minimap Component`Requirements | `BPC_MinimapElement_2D` | — |
| var | `Minimap Bounds`Requirements | `BP_Minimap_Bounds` | — |
| var | `Canvas Panel`Requirements | `CanvasPanel` | — |
| fn | `getShowAnimation` | `(Animation: WidgetAnimation)` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `OnLocationUpdated_Event` | `()` | — |
| event | `OnRotationUpdated_Event` | `()` | — |
| event | `InterpolateToLocation` | `(Target: Vector2D)` | — |
| event | `Disappear` | `()` | — |
| event | `StopInterpolationLocation` | `()` | — |
| event | `InterpolateRotation` | `(Rotation: Rotator)` | — |
| event | `StopInterpolationRotation` | `()` | — |

**WBP_MinimapElement_Icon**2 members

extends `WBP_MinimapElement`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getShowAnimation` | `(out Animation: WidgetAnimation)` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

**WBP_QuestionElement_Answer**13 members

extends `WBP_Button`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `SetCorrect`Question | `(Correct: bool)` | — |
| fn | `getBlendableElements_Hover`Get Elements | `(out Blendable: BPI_Widget_Blend[])` | Returns the elements whose blend value follows the hover animation, typically the hover outline. Empty on the base class; each button design overrides it. |
| fn | `getBlendableElements_Action`Get Elements | `(out Blendable: BPI_Widget_Blend[])` | Returns the elements whose blend value follows the action animation, typically the background, icon and label that shift as the button is selected. Empty on the base class; each button design overrides it. |
| fn | `getButtonAnimation_Action`Get Animations | `(out ActionAnimation: WidgetAnimation)` | Returns the animation carrying the selected look, run forwards when the button becomes selected and reversed when the selection is cleared. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Hover`Get Animations | `(out HoverAnimation: WidgetAnimation)` | Returns the animation run forwards as the cursor enters and reversed as it leaves. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Deactivate`Get Animations | `(out DeactivateAnimation: WidgetAnimation)` | Returns the animation run forwards when the button is deactivated and reversed when it is activated again. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Custom`Get Animations | `(out CustomStateAnimation: WidgetAnimation)` | Returns the animation run forwards when the custom state is switched on and reversed when it is switched off. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Click`Get Animations | `(out ClickAnimation: WidgetAnimation)` | Returns the animation run forwards while the button is held down and reversed on release. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonText`Get Elements | `(out Button Text: AFText)` | Returns the text element the label is written into. Empty on the base class; designs override it, and Update Button Content stops before touching anything else when there is none. |
| fn | `getButtonFrame`Get Elements | `(out ButtonFrame: WBP_ButtonFrame)` | Returns the frame widget wrapping this button's content and holding its size box. Empty on the base class; each button design overrides it, and Style Button Frame needs it to apply the width and height overrides. |
| event | `SequenceEvent_Custom` | `()` | — |
| event | `UpdateButtonContent`Content | `(ButtonContent: ST_Button_Content)` | Replaces the button's content and refreshes the label, the icon and the content widget from it. The chain runs through the text element first and the image element second, so a design missing either updates nothing beyond that point. |
| event | `SequenceEvent_Selected` | `()` | — |

**WBP_QuestionElement_Selector_Text**6 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Option`Content | `Struct_Question_Selection` | — |
| var | `Width`Style | `float` | — |
| fn | `SetCorrect`Question | `(Correct: bool)` | — |
| event | `SetIndex` | `(CurrentIndex: int)` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `ShowSolution` | `(Show: bool)` | — |

**WBP_QuestionElement_TrueFalse**17 members

extends `WBP_Button`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getButtonText`Get Elements | `(out Button Text: AFText)` | Returns the text element the label is written into. Empty on the base class; designs override it, and Update Button Content stops before touching anything else when there is none. |
| fn | `getButtonAnimation_Custom`Get Animations | `(out CustomStateAnimation: WidgetAnimation)` | Returns the animation run forwards when the custom state is switched on and reversed when it is switched off. Empty on the base class; each button design overrides it with its own. |
| fn | `getBlendableElements_Hover`Get Elements | `(out Blendable: BPI_Widget_Blend[])` | Returns the elements whose blend value follows the hover animation, typically the hover outline. Empty on the base class; each button design overrides it. |
| fn | `getBlendableElements_Action`Get Elements | `(out Blendable: BPI_Widget_Blend[])` | Returns the elements whose blend value follows the action animation, typically the background, icon and label that shift as the button is selected. Empty on the base class; each button design overrides it. |
| fn | `SetCorrect`Question | `(Correct: bool)` | — |
| fn | `getButtonAnimation_Action`Get Animations | `(out ActionAnimation: WidgetAnimation)` | Returns the animation carrying the selected look, run forwards when the button becomes selected and reversed when the selection is cleared. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Hover`Get Animations | `(out HoverAnimation: WidgetAnimation)` | Returns the animation run forwards as the cursor enters and reversed as it leaves. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Deactivate`Get Animations | `(out DeactivateAnimation: WidgetAnimation)` | Returns the animation run forwards when the button is deactivated and reversed when it is activated again. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonAnimation_Click`Get Animations | `(out ClickAnimation: WidgetAnimation)` | Returns the animation run forwards while the button is held down and reversed on release. Empty on the base class; each button design overrides it with its own. |
| fn | `getButtonImage`Get Elements | `(out Button Image: AFImage)` | Returns the image element the icon is written into. Empty on the base class; designs override it, and Update Button Content stops before forwarding content to the content widget when there is none. |
| fn | `getSound_Pressed`Sound | `(out Sound: SoundBase)` | Returns the cue played when the button is pressed. Empty on the base class; designs override it, usually with a different cue per preset, and the Sound Press Override wins over it when set. |
| fn | `getSound_Hover`Sound | `(out Sound: SoundBase)` | Returns the cue played when the cursor first enters the button. Empty on the base class; designs override it, and the Sound Hover Override wins over it when set. |
| fn | `getSound_Deactivated`Sound | `(out Sound: SoundBase)` | Returns the cue played when a deactivated button is pressed. Empty on the base class; designs override it, and the Sound Blocked Override wins over it when set. |
| fn | `getButtonFrame`Get Elements | `(out ButtonFrame: WBP_ButtonFrame)` | Returns the frame widget wrapping this button's content and holding its size box. Empty on the base class; each button design overrides it, and Style Button Frame needs it to apply the width and height overrides. |
| event | `SequenceEvent_Action` | `()` | — |
| event | `SequenceEvent_Hover` | `()` | — |
| event | `SequenceEvent_Custom` | `()` | — |

**WBP_QuizElement_Image**4 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Image`Content | `Texture` | — |
| var | `Text`Content | `text` | — |
| var | `Max Width`Style | `float` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

**WBP_QuizElement_Solution**3 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Text`Field | `text` | — |
| var | `Correct`Field | `bool` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

### Example

**WBP_3DPen_Example**1 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

### Gallery

**WBP_Configurator_Gallery**1 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeWithProducts` | `(Products: PDA_Product[])` | — |

### Helper

**WBP_KeyboardExtension_Notes**2 members

extends `WBP_Keyboard_Extension`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `ConfirmationPressed_Event` | `(Confirm: bool)` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |

**WBP_Textfield_Note**10 members

extends `WBP_TextField`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Typography`Style | `E_UI_Typography` | — |
| fn | `getAnimation_Selected`Animations | `(out SeletedAnim: WidgetAnimation)` | Returns the animation played forwards while the field holds keyboard focus and reversed once the keyboard closes. Empty on the base class; each design overrides it with its own. |
| fn | `getTooltipAnchor`Get Elements | `(out MenuAnchor: MenuAnchor)` | Implemented by the owning widget to hand back the menu anchor its tooltip hangs from; the buttons, sliders, text fields and drop-downs each return the anchor built into their designer tree. Answers nothing here, so a widget without such an anchor shows no tooltip. |
| fn | `getCharacterLimitWidget`Get Elements | `(out Widget: Widget)` | Returns the badge showing how many characters are left, the one Set Charater Limit collapses while no limit is set. Empty on the base class, and designs without such a badge leave it that way. |
| fn | `getCharacterLimitTextWidget`Get Elements | `(out Text: TextBlock)` | Returns the text block inside the badge that the remaining-character count is written into. Empty on the base class. |
| fn | `getTextBox`Get Elements | `(out TextBoxWidget: Widget)` | Implemented by the owning design to hand back its editable text box, single-line or multi-line. Answers nothing on the base class, and without it neither Set Text, Get Text nor the keyboard has anywhere to write. |
| fn | `getAnimation_Hover`Animations | `(out HoverAnim: WidgetAnimation)` | Returns the animation Set Hovered runs forwards as the cursor enters and reverses as it leaves. Empty on the base class; each design overrides it with its own. |
| event | `WidgetElement_UpdateTheme`Style | `(Theme: BP_PDA_Theme, Desktop: bool)` | Called on every element of a widget tree at start-up and again each time a new theme is applied, carrying the theme and the desktop flag. Implement it for anything that reads colours, fonts or metrics; it runs after Initiate, so content already exists by then. |
| event | `SequenceEvent_Action` | `()` | — |
| event | `SequenceEvent_Hover` | `()` | — |

### Hint

**WBP_QuestionHint**1 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeHint` | `(Image: Texture, Text: text)` | — |

### Pages

**WBP_QuizPage**2 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getQuestionFrame` | `(out WBP_Question_Frame: WBP_QuizPage_Question)` | — |
| event | `InitializeWithQuizPage` | `(QuizPage: PDA_QuizPage, QuizActor: BP_Quiz)` | — |

**WBP_QuizPage_Frontpage**1 members

extends `WBP_QuizPage`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeWithQuizPage` | `(QuizPage: PDA_QuizPage, QuizActor: BP_Quiz)` | — |

**WBP_QuizPage_Question**2 members

extends `WBP_QuizPage`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `SubmitAnswers` | `(Answers: Struct_Question_Answers)` | — |
| event | `InitializeWithQuizPage` | `(QuizPage: PDA_QuizPage, QuizActor: BP_Quiz)` | — |

**WBP_QuizPage_Results**1 members

extends `WBP_QuizPage`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeWithQuizPage` | `(QuizPage: PDA_QuizPage, QuizActor: BP_Quiz)` | — |

### Panel

**WBP_Configurator_Component**5 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Component`Content | `BP_ConfiguratorDataAsset` | — |
| var | `Slot ID`Content | `GameplayTag` | — |
| var | `Platform`Content | `BP_Configuration_Platform` | — |
| event | `WidgetElement_PostInitiate`Style | `()` | Called on every element once the entire tree has been initiated and themed. Implement it for set-up that needs the finished tree, such as measuring or reading the state of a sibling. |
| event | `DisplayActiveConfiguration` | `(InConfiguration: Map<GameplayTag, BP_ConfiguratorDataAsset>)` | — |

**WBP_Configurator_ComponentView**2 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeWithPlatform` | `(Platform: BP_Configuration_Platform)` | — |
| event | `OnNewSlotSelected_Event` | `()` | — |

**WBP_Configurator_Overview**3 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `SetupSlotButtons` | `(InAvailableConfigurations: ST_ConfigurationDataArray)` | — |
| fn | `HandleProductActorChanged` | `(InProductActor: Actor, InConfigurationComponent: BPC_ConfiguratorHandler)` | — |
| event | `InitializeWithPlatform` | `(Platform: BP_Configuration_Platform)` | — |

**WBP_Configurator_Panel**2 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `InitializeWithConfigurator` | `(Platform: BP_Configuration_Platform)` | — |
| event | `OnNewSlotSelected_Event` | `()` | — |

### Questions

**WBP_Question**7 members

extends `WBP_Base`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `CheckAnswers` | `(out Correct: bool)` | — |
| fn | `isSubmitEnabled` | `(out IsEnabled: bool)` | — |
| fn | `getAnswers` | `(out Answers: Struct_Question_Answers)` | — |
| event | `InitializeQuestion` | `(Question: PDA_Question)` | — |
| event | `Reset` | `()` | — |
| event | `BlockInput` | `(Set: bool)` | — |
| event | `EvaluateSubmit` | `()` | — |

**WBP_Question_Options**6 members

extends `WBP_Question`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getAnswers` | `(out Answers: Struct_Question_Answers)` | — |
| fn | `CreateButtons` | `(Array: ST_Button_Content[])` | — |
| event | `InitializeQuestion` | `(Question: PDA_Question)` | — |
| event | `Reset` | `()` | — |
| event | `BlockInput` | `(Set: bool)` | — |
| event | `EvaluateSubmit` | `()` | — |

**WBP_Question_Selection**5 members

extends `WBP_Question`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getAnswers` | `(out Answers: Struct_Question_Answers)` | — |
| event | `InitializeQuestion` | `(Question: PDA_Question)` | — |
| event | `Reset` | `()` | — |
| event | `BlockInput` | `(Set: bool)` | — |
| event | `EvaluateSubmit` | `()` | — |

**WBP_Question_TrueFalse**5 members

extends `WBP_Question`

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getAnswers` | `(out Answers: Struct_Question_Answers)` | — |
| event | `InitializeQuestion` | `(Question: PDA_Question)` | — |
| event | `Reset` | `()` | — |
| event | `BlockInput` | `(Set: bool)` | — |
| event | `EvaluateSubmit` | `()` | — |
