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

Examples

# AF_Examples

One map per feature with the blueprints that demonstrate it, plus the showroom subclasses that host them.

#### What it gives you

- A worked example for every system
- Reference implementations to copy from
- A lobby that links them together

#### Requires

None

#### Required by

None

109 assets57 API members

## Description

The example content is the fastest reference in the framework. When something is not behaving as expected, the corresponding example map is usually the quickest way to find the difference — the setups are minimal and deliberate.

The maps are also a reasonable curriculum: working through Select, Grip, Overlap, Teleporter and UI in that order covers most of what a project needs.

See [Example maps](../reference/examples.html) for the full index of what each map demonstrates.

## Setup

1. Enable `AF_Examples`.
2. Open `Map_Examples_Lobby` and press Play. Navigate to any example from the menu.

## Usage

### Using an example as a starting point

Copy the demonstrated Blueprint into your own content rather than referencing it, then modify. The example blueprints are intentionally minimal so they read clearly.

[![The example maps in the Content Browser](../images/AF_Examples_map_index-1600.webp?v=e430ee25)](../images/AF_Examples_map_index-1600.webp?v=e430ee25)

The example maps in the Content Browser

## Key properties

| Property | When to change |
|---|---|
| Nothing | Example content is reference material; copy rather than edit |

## Extending

Not extended — copy from it into your own project content.

## Example map

This plugin is the examples.

## Troubleshooting

**An example map does not open.** Its plugin dependencies are not all enabled; the examples exercise most of the framework.

## API reference

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

### Examples/Core/Highlight/Blueprints

**BP_Statue_Highlight_Material**0 members

extends `BP_Statue`

Highlight demonstration on the showroom statue, material variant: the highlight component writes a scalar and a colour parameter into the statue's own materials, which is why its mesh is tagged Highlight. A Colour state retints the highlight live. Stands beside the mesh-copy and post-process statues so the three techniques can be compared; copy the component choice, not the statue.

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

**BP_Statue_Highlight_MeshCopy**0 members

extends `BP_Statue`

Highlight demonstration on the showroom statue, mesh-copy variant: the highlight component spawns a duplicate of the tagged mesh in a highlight material instead of touching the statue's own materials, which is the technique to reach for when those materials cannot be changed. A Colour state retints it live. Copy the component choice, not the statue.

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

**BP_Statue_Highlight_PostProcess**0 members

extends `BP_Statue`

Highlight demonstration on the showroom statue, post-process variant: the highlight component finds or spawns the shared highlight post-process actor and outlines the tagged mesh through it, so one actor serves every highlighted object in the level. A Colour state retints it live. Copy the component choice, not the statue.

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

**BP_Statue_Highlight_Select**0 members

extends `BP_Statue`

Highlight demonstration with no highlight component of its own: the showroom statue carries only a select interaction, which builds its highlight from its Highlight Class the first time something hovers it. Read it beside the material, mesh-copy and post-process statues to see what an interaction gives you for free before you add anything.

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

### Examples/Core/Snapping/Content/Battery

**BP_Battery_Anchor**1 members

extends `BP_Battery`

Snapping example prop: a showroom battery carrying an anchor that accepts only connectors with the ID Lightbulb, inside a 25 cm sphere. Its editable Colour tints the battery on construction and is read back by whatever lightbulb attaches, so the bulb lights in the battery's own colour. Copy the pattern when an anchor should hand data to whatever docks with it.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Color`Color | `LinearColor` | Tint applied to the battery's material in the construction script, so a change in the details panel shows at once. It is also read back by any lightbulb that snaps into the anchor, which lights in the same shade. |

**BP_Example_Snapping_Anchor**5 members

extends `Actor`

Driver for the anchor and connector snapping example: it holds the batteries and the two lightbulbs placed in the level and gives each bulb an integer state naming which battery it is plugged into. Changing the state attaches that bulb's connector to the chosen anchor, and attaching or detaching by hand writes the choice back. Read it for two-way binding between a state component and a connector.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Batteries` | `BP_Battery_Anchor[]` | List of the battery anchors a bulb can be plugged into, in the order the two lightbulb states offer them. The chosen option is used as an index into it, so keep the entries lined up with the Yellow, Green and Red labels. |
| var | `Lightbulb 1` | `BP_Lightbulb_Anchor` | First of the two bulbs the panel drives; its connector is moved to whichever battery anchor the Lightbulb 1 state names. Leave it empty and that state has nothing to attach. |
| var | `Lightbulb 2` | `BP_Lightbulb_Anchor` | Second bulb placed in the level, so the example can show two of them sharing one bank of batteries. Its own state handler is empty, so this one is moved by hand rather than from the panel. |
| event | `OnConnectorAttached_Event` | `(Anchor: BPC_Anchor, Connector: BPC_Connector_Anchor)` | Internal handler bound at begin play to the attach delegate of every battery anchor. When a bulb lands on a battery it writes that battery's index into the bulb's own integer state, so the panel follows a connection made by hand. |
| event | `OnConnectorDetached_Event` | `(Anchor: BPC_Anchor, Connector: BPC_Connector_Anchor)` | Internal handler bound at begin play to the detach delegate of every battery anchor. Writes -1 into the state of the bulb that came free, which clears the selection shown on the panel. |

**BP_Lightbulb_Anchor**0 members

extends `BP_Lightbulb`

Snapping example prop: a showroom lightbulb with a connector under the ID Lightbulb, plus a pickup interaction and coordinator so it can be carried from battery to battery. Attaching switches the light on and recolours it from the battery it landed on; detaching turns it off and clears the colour. Copy it when a carried object should react to what it snaps into.

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

### Examples/Core/Snapping/Content/Rack

**BP_Rack_Snapping_Example**0 members

extends `BP_Rack`

Rack with anchors on it, so props carried over click into place rather than being balanced. The snapping demonstration's stand.

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

### Examples/Modules/Settings/Blueprints/Vase

**BP_Value_Settings_Name_Example_VaseColor**1 members

extends `BP_Value_Settings_Name`

Example settings value exposing the vase's colour as a named choice. Nothing in the framework uses it; it is here to show a setting driving something in the level rather than a console variable.

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `Value_Name_Set`Value_Name | `(SourceInfo: ST_SourceInfo, Name: name)` | Implemented by a name value to take a new name from the pawn described by the source info. The drag state reads the name as the section to move to. |

**BP_Vase_Example_Settings**0 members

extends `BP_Vase`

Vase whose colour follows a named settings value through a name state component. The worked example of a setting changing something a player can see in the world.

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

### Examples/Modules/Settings/Widgets

**WBP_Settings_Example**1 members

extends `WBP_Base`

Settings screen for the settings example level, built from the same rows as the shipped ones so the two can be read side by side.

| 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_Settings_Example_Examples**0 members

extends `WBP_Base`

Tab of the settings example screen holding the example's own values, so a custom setting can be seen beside the shipped presets.

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

### Examples/Modules/Spawner/Blueprints

**BP_Rack_Example_Spawner**0 members

extends `BP_Rack`

Rack carrying a spawner, so a prop can be pulled off it and kept. The spawner demonstration's stand; read it for how the spawner component sits on an ordinary actor.

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

**BP_Spawner_Example**0 members

extends `Actor`

Spawner module demonstration: a spawner offering a hologram of a showroom shape that a hand can pull off and keep. A Type state switches both the spawned class and its preview mesh between small cube, large cube, pyramid and ball, and a Despawn Time state sets how long a spawned actor survives after release, up to 10 seconds. Copy it for a spawner driven by state components.

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

### Examples/Modules/States/Example

**BP_Example_States**0 members

extends `Actor`

Reference actor for the State module: one component of every kind, boolean, colour, drag, float, integer, name and trigger, each titled and pre-filled with sample options, with a text render component beside it showing the live value. Stand it in front of a demo table and the configurator gives you a control per state. The first thing to read when learning state components.

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

### Examples/Modules/Teleport/Blueprints

**BP_Example_Teleport**1 members

extends `Actor`

Demonstration of the Teleport module's Teleport call: three arrow components mark destinations, and state components choose the destination, the fade, the motion style and the duration in seconds. Triggering it finds the teleport ability on the pawn that acted and sends that pawn to the chosen arrow with those settings. Read it for the argument list rather than placing it in a project of your own.

| Kind | Name | Signature | Description |
|---|---|---|---|
| fn | `getEyeLevel` | `(out OutputPin: E_Teleport_TrackingLevel)` | Returns a tracking level taken from the Eye Level name state, mapping its first three options onto ground, eye and pawn level. Nothing calls it: the trigger asks for ground level directly and that state has no options configured, so read it as an illustration of the enum. |

### Examples/Modules/Visibility/Blueprints

**BP_Example_Visibility**0 members

extends `Actor`

Visibility module demonstration: a guitar built from seven separate meshes with a single visibility switch over them, so one boolean state hides or shows the lot rather than each mesh in turn. A second state, Destroy, deletes the actor outright. Copy the switch and the one handler, not the guitar.

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

### Examples/UI/InfoPanels/Widgets

**WBP_Example_UI_InfoPanels**0 members

extends `WBP_Base`

Demo page for the Info Panels module. Four checkboxes, Mute Status, FPS, Stats and Display, each show or remove the matching sample panel on the player pawn through Info Panel Show and Info Panel Remove, so any combination can be up at once. Read it for those two calls; the panels themselves are separate widgets in the same folder.

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

**WBP_Example_UI_InfoPanels_Display**0 members

extends `WBP_Base`

Sample info panel listing display settings in three info rows: resolution, view distance and shadows. The values are static placeholder text. Spawned by the info panels example page; copy the row layout when building a panel of your own rather than using it as it stands.

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

**WBP_Example_UI_InfoPanels_FPS**0 members

extends `WBP_Base`

Sample info panel showing a frame rate and a frame time in two info rows. The numbers are static placeholder text rather than live measurements. Spawned by the info panels example page as the small, always-on kind of panel; copy the layout and feed it real values.

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

**WBP_Example_UI_InfoPanels_Mute**0 members

extends `WBP_Base`

Smallest of the info panel samples: a single mute icon in an overlay scaffold and nothing else. Spawned by the info panels example page to show that a panel can be one glyph rather than a table of rows. Copy it as the starting point for a status indicator.

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

**WBP_Example_UI_InfoPanels_Stats**1 members

extends `WBP_Base`

Sample info panel counting actors, static meshes and widgets in three info rows, and the only one of the four with live data behind it. Collect Data walks every actor in the world, tallies its static mesh and widget components and writes the totals into the rows. Spawned by the info panels example page; copy Collect Data for a debug readout of your own.

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `CollectData` | `()` | Counts every actor in the world, tallies the static mesh and widget components across them and writes the three totals into the panel's rows. Nothing calls it as the sample ships, so the placeholder figures stand until you call it yourself, from a timer for a reading that keeps up. |

### Examples/UI/Labels/Blueprints

**BP_Plant_Example_Label**0 members

extends `BP_Plant`

Labels demonstration: a showroom plant wearing three simple labels, Pot, Stem and Leaves, each pinned to a named socket on the plant's spline rather than to a fixed offset. States toggle all three on and off, switch auto-scaling and step the rotation mode through its four options. Copy it for the spline-attached label setup.

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

**BP_RemoteControl_Label**0 members

extends `Actor`

Labels demonstration of a hint that gets out of the way: a grabbable remote control with a Grab This label and an arrow pointing at it. The pickup coordinator deactivates the label the moment the remote is picked up and reactivates it on release. Copy the two handlers whenever an instruction should disappear once the player has taken the point.

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

**BP_Statue_Example_Label**0 members

extends `BP_Statue`

Info label demonstration: the showroom statue wearing a single info label with a title, a subtitle, a paragraph of body text and a Show button, opening to the left of the statue. The whole example is one component and its defaults, which is the point. Copy it as the minimal info label setup.

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

### Examples/UI/Notifications/Widgets

**WBP_Example_UI_Notifications**0 members

extends `WBP_Base`

Demo page for the Notifications module: a button for a short notification, a button for a long one and a Duration slider covering 2 to 20 seconds. The notifications themselves appear in the pawn's notification container rather than in this page. Read it alongside Show Default Notification when adding notifications to a project of your own.

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

### Examples/UI/PawnUI/Widgets

**WBP_Example_PawnUI_Far**0 members

extends `WBP_Base`

Sample panel spawned at the far pawn-UI distance, whose own body text explains the trade: elements this far out can only be reached with a laser, but they are less likely to overlap objects in the world. Its Close button closes it. Spawned by the pawn UI example page; read it beside the near version.

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

**WBP_Example_PawnUI_Near**0 members

extends `WBP_Base`

Sample panel spawned at the near pawn-UI distance, close enough to be touched with a hand rather than pointed at, as its own body text explains. Its Close button closes it. Spawned by the pawn UI example page; read it beside the far version to decide which distance suits a panel of your own.

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

**WBP_Example_UI_PawnUI**0 members

extends `WBP_Base`

Demo page for the pawn UI space: Near and Far buttons that add the matching sample panel to the player pawn through Pawn UI Add Element, each paired with the position data asset for that distance. Read it for the call and for which data asset goes with which distance; the two panels are separate widgets in the same folder.

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

### Examples/UI/Popups/Widgets

**WBP_Example_UI_Popups**4 members

extends `WBP_Base`

Demo page for popups: four buttons raising a confirmation, a warning, an error and a multiple-choice popup, with a line underneath reporting what you answered. The handlers show how a popup's answer comes back, as a selected index or as an acknowledgement. Read it for the wiring rather than embedding it in a project.

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `ButtonPressed_Event` | `(Index: int)` | Answer handler for the multiple-choice popup. Writes You selected option, followed by the position of the button pressed, into the line under the buttons. |
| event | `CustomEvent` | `(Index: int)` | First of three identical answer handlers, one per popup that only needs acknowledging. Writes You accepted the error into the line under the buttons and discards the position it was given, so any of the popup's buttons reads the same. |
| event | `CustomEvent_1` | `(Index: int)` | Second of three identical answer handlers, one per popup that only needs acknowledging. Writes You accepted the error into the line under the buttons and discards the position it was given. |
| event | `CustomEvent_2` | `(Index: int)` | Third of three identical answer handlers, one per popup that only needs acknowledging. Writes You accepted the error into the line under the buttons and discards the position it was given. |

### Examples/UI/UI/Blueprints

**BP_Example_UI**1 members

extends `Actor`

Theme demonstration for the UI system. On begin play it registers two further themes, Edged and Green, with the theme manager on the game state, and a name state then switches the whole session between those and the two defaults. Read it to see how to add a theme data asset of your own; Widget Actor Reference points at the widget actor being restyled.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Widget Actor Reference` | `BP_Widget` | Widget actor this example is meant to restyle, filled in per level. Nothing in the graph reads it; the theme is switched on the game state's theme manager, which every bound widget listens to anyway. |

### Examples/UI/UI/Widgets/General

**WBP_Example_UI**0 members

extends `WBP_Base`

Root of the UI catalogue and the widget to open first when learning the widget set. An expanding scaffold with a vertical pagination menu over four pages, Basics, Display, Input and Layout, each swapped into a tagged switcher. Also worth reading as a working pagination-and-switcher pairing to copy into a menu of your own.

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

**WBP_Example_UI_Basics**0 members

extends `WBP_Base`

Basics page of the UI catalogue: a horizontal pagination menu over the border, image, switcher, text and throbber examples, each swapped into a tagged switcher. It holds no content of its own. Read the leaf pages it points at; copy this one only for the two-level pagination pattern.

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

**WBP_Example_UI_Display**0 members

extends `WBP_Base`

Display page of the UI catalogue: a horizontal pagination menu over the info, list, loading and progress examples, each swapped into a tagged switcher. It holds no content of its own, so read the leaf pages it points at rather than this.

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

**WBP_Example_UI_Input**0 members

extends `WBP_Base`

Input page of the UI catalogue: a horizontal pagination menu over the button, selector, slider and text field examples, each swapped into a tagged switcher. It holds no content of its own, so read the leaf pages it points at rather than this.

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

**WBP_Example_UI_Layout**0 members

extends `WBP_Base`

Layout page of the UI catalogue: a horizontal pagination menu over the box, expand, scrolling and overlay examples, each swapped into a tagged switcher. It holds no content of its own, so read the leaf pages it points at rather than this.

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

### Examples/UI/UI/Widgets/General/Basics

**WBP_Example_UI_Basics_Borders**0 members

extends `WBP_Base`

Catalogue page for the border widgets: rounded borders at several corner settings and theme colours, a gradient border, a two-colour gradient and three outline borders. The Switch button interpolates the two-colour border's blend through the Widget Blend interface, which is the part worth copying. Reached from Basics in the UI catalogue.

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

**WBP_Example_UI_Basics_Images**0 members

extends `WBP_Base`

Catalogue page for the image widgets: icons auto-blending against light and dark backgrounds, a rounded image, one on a tinted background, a transition image and a translated one zoomed and offset inside its frame. Every variant is capped to 300 by 300. Reached from Basics in the UI catalogue; read it to pick an image class.

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

**WBP_Example_UI_Basics_Switcher**0 members

extends `WBP_Base`

Catalogue page for the switcher: four coloured borders in one switcher with a four-chip selector above them, the selected index calling Switch To Index. The smallest complete example of driving a switcher from a selector, and the same pattern the catalogue's own pagination uses. Reached from Basics in the UI catalogue.

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

**WBP_Example_UI_Basics_Text**0 members

extends `WBP_Base`

Catalogue page for the text widget, listing every typography level the theme defines from Display 1 down to Caption 1, one line each. Purely a specimen sheet, with no graph behind it. Open it to choose a Typography value rather than guessing. Reached from Basics in the UI catalogue.

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

**WBP_Example_UI_Basics_Throbber**0 members

extends `WBP_Base`

Catalogue page for the throbbers, showing the linear and the circular one in a row each and nothing else. Open it to see which of the two suits a wait in a UI of your own. Reached from Basics in the UI catalogue.

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

### Examples/UI/UI/Widgets/General/Display

**WBP_Example_UI_Display_Info**0 members

extends `WBP_Base`

Catalogue page for the small display widgets: two error wrappers, a row of coloured tags and an indicator badge. Show Error puts a message on a text field and a checkbox at once, and the stepper drives the indicator's number, hiding the badge at zero. Reached from Display in the UI catalogue; copy the error and indicator handlers.

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

**WBP_Example_UI_Display_Lists**0 members

extends `WBP_Base`

Catalogue page for the list widgets: a bullet point list and a numbered enumerator, both filled with placeholder text and with no graph behind them. Reached from Display in the UI catalogue; read it to see which of the two to reach for.

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

**WBP_Example_UI_Display_Load**1 members

extends `WBP_Base`

Catalogue page for the loading widgets and the busiest of the display examples. Load switches the loading switcher on for three seconds, then refills its button group with a random count and shows No items found when that count is zero. A stepper resizes a second group behind a fallback so its replacement text appears when the group empties. Copy either handler for a list that can be empty.

| 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_Example_UI_Display_Progress**1 members

extends `WBP_Base`

Catalogue page for the progress bars, showing the horizontal and the circular variant side by side at fixed sample values. Reached from Display in the UI catalogue; read it to compare the two shapes before choosing one, then drive the percentage from your own code.

| 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. |

### Examples/UI/UI/Widgets/General/Input

**WBP_Example_UI_Input_Buttons**0 members

extends `WBP_Base`

Catalogue page for the buttons and the widest of the input examples: small, normal and large in the primary, secondary and tertiary presets, plus image, colour, toggle, checkbox and radio rows. On group initiated the colour row is filled by walking the group and handing each button one of fourteen colour data assets, which is the handler worth copying.

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

**WBP_Example_UI_Input_Selector**0 members

extends `WBP_Base`

Catalogue page for the selection widgets: a colour picker, a dropdown, a chip selector with replication switched on and a stepper. None of the four is bound to anything, so the page shows their look and their editable defaults rather than any wiring. Reached from Input in the UI catalogue.

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

**WBP_Example_UI_Input_Slider**0 members

extends `WBP_Base`

Catalogue page for the sliders: a default slider reading 0 to 100 per cent, a second snapping to five segments, a unit slider and one drawn with a custom material. Reached from Input in the UI catalogue; read it to choose a slider class and to see how segments and units are configured.

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

**WBP_Example_UI_Input_Text**0 members

extends `WBP_Base`

Catalogue page for the text fields: a plain one, one capped at ten characters, a multi-line area and a password field, each with a hint. Reached from Input in the UI catalogue; read it to pick a field class and to see what the character limit and the hint do.

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

### Examples/UI/UI/Widgets/General/Layout

**WBP_Example_UI_Layout_Boxes**0 members

extends `WBP_Base`

Catalogue page for the boxes: the default box and the two card boxes, left and top, filled with placeholder paragraphs at a few sizes and with no graph behind them. Reached from Layout in the UI catalogue; read it to see how the three frame their content before picking one.

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

**WBP_Example_UI_Layout_Expand**0 members

extends `WBP_Base`

Catalogue page for the widgets that grow and shrink: an expandable with a header over a hidden body, and two collapse widgets, one closing upwards and one to the right, both driven from a single Collapse and Expand toggle button. Reached from Layout in the UI catalogue; copy the toggle handler.

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

**WBP_Example_UI_Layout_Overlays**3 members

extends `WBP_Base`

Catalogue page for the overlays: four buttons raising a confirmation, a loading, a notification and a custom overlay, with a line underneath reporting the answer. The confirmation button shows the whole call, title, icon, message and two button contents at secondary and primary emphasis, and binds the result delegate. Reached from Layout in the UI catalogue.

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `OnButtonClicked_Event` | `(Confirm: bool)` | Result handler bound to the confirmation overlay as it is raised. Writes You confirmed or You denied the last action into the line under the buttons, according to which of the two answers was pressed. |
| event | `OnButtonClicked_Event_0` | `()` | Acknowledgement handler meant for the notification overlay, which reports no answer of its own. It repeats the confirmation handler's confirmed-or-denied wording without a result to read, so treat it as a copy left in place rather than a pattern to follow. |
| event | `OnExampleClosed_Event` | `()` | Handler for the custom example overlay's Close button, which broadcasts before it closes itself. Writes You closed the example Overlay into the result line, showing how an overlay you have written reports back to the page that raised it. |

**WBP_Example_UI_Layout_Scrolling**0 members

extends `WBP_Base`

Catalogue page for scrolling content: the horizontal and vertical scrollable fields, each holding a button group, set beside plain horizontal and vertical scroll boxes of placeholder text. Reached from Layout in the UI catalogue; read it to judge when the scrollable field earns its extra furniture over a plain scroll box.

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

### Examples/UI/UI/Widgets/General/Layout/More

**WBP_Example_Overlay**0 members

extends `WBP_Base`

Custom overlay raised by the Custom button on the overlays catalogue page: an overlay scaffold holding a wide image, a heading, three bullet points and a Close button that broadcasts On Example Closed before closing itself. Copy it as the template for an overlay of your own, since the framework's own overlay calls cover only the standard shapes.

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

### Examples/UI/UI/Widgets/HUD

**WBP_Example_UI_HUD**0 members

extends `WBP_Base`

Demo page for the head-up display: nine checkboxes named after the HUD's screen positions, each adding the matching sample widget to the pawn's HUD ability with its own frame info and removing it again when unticked. The frame infos differ deliberately, Game Only around the edges, Game And UI along the bottom and UI Only in the centre. Read it for Add Widget Class and its frame argument.

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

**WBP_Example_UI_HUD_Bottom**0 members

extends `WBP_Base`

Sample HUD widget for the bottom slot: a horizontal group of five small buttons, the shape an action bar usually takes. Added and removed by the HUD example page; copy the group setup rather than the widget itself.

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

**WBP_Example_UI_HUD_BottomLeft**0 members

extends `WBP_Base`

Sample HUD widget for the bottom-left slot, deliberately empty: an overlay scaffold 800 wide with nothing inside it, so the example can show the slot's position and its fade without content getting in the way. Add your own children if you copy it.

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

**WBP_Example_UI_HUD_BottomRight**0 members

extends `WBP_Base`

Sample HUD widget for the bottom-right slot: a vertical group of five buttons, the shape a menu column usually takes. Added and removed by the HUD example page; copy the group setup rather than the widget itself.

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

**WBP_Example_UI_HUD_Center**0 members

extends `WBP_Base`

Sample HUD widget for the centre slot: a heading, a line of explanatory text and a horizontal progress bar. The HUD example page adds it in UI Only screen control mode, the only one of the nine that takes input away from the game, which is what a centred panel demanding attention usually wants.

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

**WBP_Example_UI_HUD_Left**0 members

extends `WBP_Base`

Sample HUD widget for the left slot: a single vertical progress bar, the shape a stamina or charge gauge usually takes. Added and removed by the HUD example page; copy the arrangement rather than the widget itself.

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

**WBP_Example_UI_HUD_Right**0 members

extends `WBP_Base`

Sample HUD widget for the right slot: an enumerator listing five numbered tasks, the shape an objective list usually takes. Added and removed by the HUD example page; copy the enumerator and its Content list as a starting point.

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

**WBP_Example_UI_HUD_Top**0 members

extends `WBP_Base`

Sample HUD widget for the top slot: a linear throbber stretched across a thousand units, the shape a loading or progress strip usually takes. Added and removed by the HUD example page.

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

**WBP_Example_UI_HUD_TopLeft**0 members

extends `WBP_Base`

Sample HUD widget for the top-left slot: one paragraph of placeholder text 500 wide, the simplest of the nine. Added and removed by the HUD example page; read it to see the least a HUD widget needs to be.

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

**WBP_Example_UI_HUD_TopRight**0 members

extends `WBP_Base`

Sample HUD widget for the top-right slot: an expandable whose header carries a paragraph and whose body reveals a More Information section when opened. Added and removed by the HUD example page, and the one of the nine showing that a HUD widget can be interactive rather than a read-only readout.

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

### Examples/UI/UI/Widgets/Template

**WBP_Template_Widget**5 members

extends `WBP_Base`

Empty widget to copy when writing a UI element of your own. Its graph is a numbered walkthrough of the element lifecycle - pre-construct, construct, initiation, theming, post-initiation and replication - with every step left empty and commented with what belongs in it and when it runs. Nothing references it, so duplicate it and fill in the copy.

| Kind | Name | Signature | Description |
|---|---|---|---|
| event | `WidgetElement_ExecuteReplication`Replication | `(ReplicationIdentifier: name, Content: string[])` | Called on the other clients when a replicated value arrives for this element, carrying the identifier and its content strings. Implement it to reflect a change another player made; it is skipped on the client that sent the value. |
| event | `WidgetElement_Initiate`Style | `(Parent: WBP_Base, ReplicationIndex: name)` | Called once per element while the owning widget walks its tree after begin play, handing over the parent widget and the index that makes this element's replication identifier unique among its siblings. Implement it for content set-up; the theme pass follows. |
| 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 | `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 | `WidgetElement_InitialConstruct`Construct | `()` | Called on every element while the owning widget pre-constructs in the editor, immediately before the design-time theme pass. Implement it for preview-only set-up; it never runs in a running game. |

### Examples/UX/Gaze/Blueprints

**BP_Cog_Gaze**0 members

extends `BP_Cog`

Gaze demonstration on the showroom cog: a gaze interaction using the circular indicator widget, so looking at the gear long enough toggles its boolean state and the gear starts or stops turning. The shortest of the gaze examples and the one to copy for a look-to-activate object.

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

**BP_Cubboard_Gaze**0 members

extends `BP_Cubboard`

Gaze demonstration on the four-drawer cupboard: one gaze interaction over the whole piece, and triggering it steps every drawer's drag state to its next named section, so all four slide between Closed and Open at staggered snapping speeds. Read it for a single gaze driving several state components at once.

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

**BP_Door_Gaze**0 members

extends `BP_Door`

Gaze demonstration on the showroom door: gazing toggles a boolean state, and the state's update event plays a 0.7 second timeline swinging the door through 90 degrees. Copy it for the pattern of keeping the animation on the state rather than on the interaction, so anything else that flips the value opens the door too.

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

**BP_Radio_Gaze**0 members

extends `BP_Radio`

Gaze demonstration on the showroom radio: a gaze interaction whose trigger toggles the radio's boolean state, starting and stopping the music. Nothing else is added over the radio itself. Read it beside the select version of the same prop to compare the two ways in on identical wiring.

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

### Examples/UX/Grip/Content/Latch

**BP_Drag_Car**0 members

extends `Actor`

Spline drag demonstration: a slider car latched to a spline, its drag state set to the Spline With Rotation kind so grabbing the handle runs the car along the spline and banks it into the curves. The four gear meshes are spun from the drag velocity on every update, a cheap way to show how fast a drag is moving. Copy the drag component's setup rather than the car.

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

### Examples/UX/Grip/Content/Latch_Combined

**BP_Latcher_3D**0 members

extends `Actor`

Grip latch demonstration in three axes with replication: one latch drag interaction over a slider inside a cube frame, with X, Y and Z drag states all sharing the tag the interaction drags by, each clamped to 30 cm either side. A replication component makes it the multiplayer form of the plain multiaxis example. Copy it when a grabbed object must move in three axes for everyone.

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

### Examples/UX/Grip/Content/Latch_Drag_Mulitaxis

**BP_Example_Latch_Multiaxis_2D**0 members

extends `Actor`

Grip latch demonstration in two axes: a slider inside a flat frame with X and Z drag states behind one latch drag interaction, each clamped to 30 cm either side. The smallest complete example of one grip feeding several drag components, and a sound starting point for a two-axis handle of your own.

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

**BP_Example_Latch_Multiaxis_3D**0 members

extends `Actor`

Grip latch demonstration in three axes: a slider inside a cube frame with X, Y and Z drag states behind one latch drag interaction, each clamped to 30 cm either side. Single-player counterpart to the replicated latcher; copy whichever suits whether the object needs to move for other players too.

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

### Examples/UX/Grip/Content/Pickup

**BP_Display**0 members

extends `Actor`

Screen prop for the grip examples: a small screen mesh with a media sound component attenuated to a couple of metres, so video played onto the screen is heard from in front of it. It carries no interaction of its own. Place it as scenery, or take the pickup version, which is the subclass that makes it grabbable.

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

**BP_Display_Pickup**0 members

extends `BP_Display`

Pickup version of the screen prop: a grip pickup interaction and an actor replication component added to the plain screen, so it can be lifted, carried and seen moving by everyone else. Two components and no graph changes, which is the point. The example to copy when a prop of yours needs to become grabbable in multiplayer.

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

**BP_RemoteControl**0 members

extends `Actor`

Grip demonstration of button forwarding: a remote control with a pickup interaction for each hand and text render components across its face. While it is held in the right hand the name of whatever controller button is pressed is printed onto it, which shows how input reaches a held object through the grip rather than through the pawn. The axis lines are static sample text.

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

### Examples/UX/Interaction_Hands/Blueprints/Grip_Latch_Combined

**BP_Button_Example_Pixel**1 members

extends `BP_Button`

Showroom button wired into the pixel arcade game: when its drag state enters the Pushed section the button fires the player's gun through the Ship Game reference. Point that reference at the game controller placed in the level. Read it for the least you need to do to turn a physical button into a game input.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Ship Game` | `BP_Pixel_Ship_Game_Controller` | Arcade game controller whose gun this button fires. Point it at the controller placed in the level; the press is forwarded without a validity check, so an empty reference logs an error rather than being ignored. |

### Examples/UX/Interaction_Hands/Blueprints/Grip_Latch_Combined/JoyStick

**BP_Joystick_PixelGame**1 members

extends `Actor`

Arcade joystick for the pixel game: a handle held by a latch drag with two angle drag states, both set to snap back, so pushing the stick steers the ship and letting go re-centres it. Gripping the stick starts a game, releasing it quits, and the trigger fires. Point Ship Game at the game controller; copy it for any spring-return stick.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Ship Game` | `BP_Pixel_Ship_Game_Controller` | Arcade game controller this stick drives. Gripping starts a round on it, releasing quits, and the trigger and forward axis are forwarded to it; leave it empty and the stick still moves but nothing is played. |

### Examples/UX/Interaction_Hands/Blueprints/Grip_Latch_Combined/Pixel

**BP_Pixel_Projectile**3 members

extends `Actor`

A basic projectile that emits light. Variables for color and speed are exposed on spawn.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Speed` | `Vector` | Velocity in centimetres per second, applied along the shot's own axes every frame. The ships pass it on spawn: 700 up the cabinet for the player, 200 down it for the enemies. |
| var | `Projectile Owner` | `Actor` | Actor that fired the shot, passed in on spawn. Overlaps with it are ignored, which is what stops a ship damaging itself as the shot leaves the muzzle. |
| var | `Projectile Color` | `LinearColor` | Tint applied at begin play to both the shot's material and its point light, passed in on spawn. The player fires blue and the enemies orange. |

**BP_Pixel_Ship_Enemy**1 members

extends `Pawn`

An enemy spaceship that strafes left and right and fires projectiles when a player is in front of it.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Movement Speed` | `float` | Sideways travel in centimetres per second, and misleading as an editable: begin play overwrites it with a random value between 25 and 200, so what you set in the details panel never reaches the game. |

**BP_Pixel_Ship_Game_Controller**10 members

extends `Actor`

A Blueprint controlling the camera and game logic (spawning enemies, etc) for the Pixel Ship pawn.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Max Horitzontal Spawn Offset` | `float` | How far to either side of the spawn point an enemy may appear, in centimetres. Each spawn picks a random offset within it so the waves do not all come down one lane; zero lines them up exactly. |
| event | `Start spawning enemies` | `()` | Called by Start Game as a round opens, and empty in itself. The waves are produced on tick, which spawns an enemy every few seconds and tightens the gap by 0.3 seconds each time until it bottoms out at 0.7. |
| event | `Stop spawning enemies` | `()` | Destroys every enemy still alive and empties the list of them. Called as a round ends, so the cabinet is clear before the next player ship appears. |
| event | `Player killed` | `(DestroyedActor: Actor)` | Internal handler bound to the player ship's destruction. Clears the surviving enemies and opens a fresh round, which is what makes the game restart by itself after a death. |
| event | `Start game` | `()` | Opens a round: resets the spawn interval to four seconds, starts the waves and spawns the player ship at the player spawn point, binding Player Killed to it. Called by the joystick when a hand grips it, and gated so a second call during a running round is ignored. |
| event | `Quit game` | `()` | Ends the round by destroying the player ship, if one is alive. Called by the joystick when the hand lets go. |
| event | `Enemy destroyed` | `(DestroyedActor: Actor)` | Internal handler bound to each spawned enemy's destruction, and left empty. The list of spawned enemies is therefore never pruned, though it is checked for validity before use; scoring would go here. |
| event | `SpeedInputRight` | `(Value: float)` | Passes a sideways steering value to the ship currently alive, and does nothing when there is none. As shipped nothing calls it, because the joystick's second drag axis is left unwired. |
| event | `SpeedInputForward` | `(Value: float)` | Passes a forward steering value to the ship currently alive, and does nothing when there is none. Called by the joystick every frame its stick is held over. |
| event | `Fire` | `()` | Passes a shot order to the ship currently alive, and does nothing when there is none. Called by the joystick's trigger and by the arcade button standing beside the cabinet. |

**BP_Pixel_Ship_Player**4 members

extends `Pawn`

A spaceship player pawn that can move left and right and shoot projectiles.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Movement Speed` | `float` | Multiplier turning the -1 to 1 steering inputs into travel, in centimetres per second. The ship eases towards the resulting speed rather than jumping to it, which is what gives it its weight. |
| event | `Fire` | `()` | Spawns a blue shot at the ship's transform, travelling 700 centimetres per second up the cabinet and owned by this ship so it cannot damage itself. Called by the repeating fire timer and by the game controller when the arcade trigger is pulled. |
| event | `SpeedInputRight` | `(Axis: float)` | Stores the sideways steering axis, -1 to 1, which tick eases into the ship's actual speed and banks the hull by. Called by the game controller, which is fed in turn by the cabinet's joystick. |
| event | `SpeedInputForward` | `(Axis: float)` | Stores the forward steering axis, -1 to 1, which tick eases into the ship's actual speed. Called by the game controller as the joystick is pushed. |

### Examples/UX/Interaction_Hands/Blueprints/Grip_Latch_Multiaxis

**BP_Example_Pole_Multiaxis**0 members

extends `Actor`

Grip latch demonstration of two unlike axes on one handle: a twist grip on a pole held by a single latch drag, with a linear Z drag over 90 cm either way and a yaw drag over 180 degrees either way. It shows that the drags behind one grip need not be of the same kind. Copy it for a handle that both slides and turns.

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

### Examples/UX/Interaction_Hands/Blueprints/Grip_Latch_Simple/HandScanner

**BP_Handscanner**0 members

extends `Actor`

Hand interaction demonstration of automatic gripping: a wall scanner whose latch interaction takes hold by itself as soon as a hand comes within 10 cm, with no button press. The left hand runs the scan, a decal sweeping down over two seconds and ending with the housing glowing green, while the right hand turns it red. Copy the auto-grip setup; the timeline is set dressing.

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

### Examples/UX/Interaction_Hands/Blueprints/Grip_Latch_SingleAxis

**BP_Cubboard_Example_Hands**0 members

extends `BP_Cubboard`

Hand interaction demonstration on the four-drawer cupboard: one latch drag interaction per drawer, each restricted by Relevant Components to its own drawer mesh and grabbing only within 10 cm, so hands pull the drawers out individually along 40 cm of travel. The example to copy when one actor needs several independent grab points.

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

**BP_Knob_Example_Hands**0 members

extends `BP_Knob`

Showroom knob as placed in the hand interaction example. Nothing is added over the knob it derives from, which already carries the latch drag and the percentage label; the subclass exists so the example level can be tuned without touching the shared prop. Read the parent rather than this.

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

**BP_Lever_Example_Hands**0 members

extends `BP_Lever`

Showroom lever as placed in the hand interaction example. It adds nothing to the lever it derives from, whose grip, yaw drag and percentage label do all the work, and exists only to give the example level a class of its own. Read the parent rather than this.

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

### Examples/UX/Interaction_Hands/Blueprints/Grip_Pickup

**BP_Vase_Example_Hands_Pickup**0 members

extends `BP_Vase`

Smallest pickup example in the plugin: the showroom vase with a grip pickup interaction and a pickup coordinator over it, and no graph at all. Those two components are the whole of what it takes to make a prop liftable by a tracked hand. Copy the pair onto a prop of your own.

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

### Examples/UX/Interaction_Hands/Blueprints/Grip_Pickup_ButtonForward/UFO

**BP_RemoteControl_UFO**1 members

extends `Actor`

Button forwarding demonstration: a remote control with a pickup interaction per hand, told apart by the Grip_L and Grip_R prefixes, and a coordinator over them. While it is held, controller input is forwarded to the saucer named in its UFO reference, the thumbstick flying it, the trigger switching the abduction beam and the bottom face button boosting. Point UFO at the saucer placed in the level.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `UFO` | `BP_UFO_Physics` | Saucer this remote flies, pointed at the one placed in the level. Its beam, boost and movement events are called without a validity check, so an empty reference turns every press into an access warning rather than being quietly ignored. |

**BP_UFO_Physics**11 members

extends `Pawn`

A UFO pawn capable of beaming up static meshes that are simulating physics.

| Kind | Name | Signature | Description |
|---|---|---|---|
| var | `Movement Speed` | `float` | Thrust in centimetres per second, added to the body's velocity each frame along the camera's facing. Boost reuses it at twice the figure as a single impulse, so raising it quickens the drift and the dash together. |
| var | `Camera Speed` | `float` | How far the chase arm swings each frame, in degrees. It pulls the arm's pitch down towards its lower limit of -45 degrees and multiplies the turn input, so in practice it sets how quickly the camera settles behind the saucer. |
| var | `Beam Strength` | `float` | Intended pull of the abduction beam, and inert as the example stands: nothing in the graph reads it, because an actor caught in the beam is hidden outright rather than drawn upwards. Changing it has no effect. |
| event | `Boost` | `()` | Fires the saucer forwards at twice Movement Speed and spawns the boost effect on both engines. Called by the remote control's bottom face button; a boost while one is still cooling down is dropped, and the cooldown is 0.8 seconds. |
| event | `MoveRight` | `(Value: float)` | Records the sideways input, which tick applies as the right axis of the camera-relative thrust and also banks the body into the turn. Called by the remote control every frame its thumbstick is held. |
| event | `Turn` | `(Value: float)` | Records the yaw input, which tick multiplies by Camera Speed to swing the chase arm around the saucer. Nothing in the shipped example calls it, so the camera is only ever moved by flying somewhere. |
| event | `MoveForward` | `(Value: float)` | Records the forward input, which tick applies as the forward axis of the camera-relative thrust and also tilts the body as it travels. Called by the remote control every frame its thumbstick is held. |
| event | `MoveUp` | `(Value: float)` | Records the climb input, which tick applies as the up axis of the camera-relative thrust. Nothing in the shipped example calls it, so the saucer holds its height until you wire a control to it. |
| event | `Eject` | `()` | Drops the actor abducted most recently: restores its physics, collision and visibility at the Evac Zone socket, fires it downwards at 1500 centimetres per second and kicks the saucer up by a tenth of that. Interrupts the beam first, and does nothing while nothing has been abducted. |
| event | `SetBeam` | `(Set: bool)` | Switches the abduction beam on or off, setting the beam material's opacity to 0.4 or 0.01 and showing or hiding the spotlight with it. Called by the remote control's trigger; the zone under the saucer only picks anything up while the beam is on. |
| event | `Interrupt beam` | `()` | Switches the beam off, drops the beam material's opacity and hides the spotlight, then half a second later switches it back on if the desktop left mouse button or the gamepad right trigger is still held. Called by Eject so the dropped actor is not caught again at once; a hand controller's trigger is not among the keys checked. |

### Examples/UX/Interaction_Hands/Blueprints/Grip_Pickup_Multihands

**BP_Panel_Example_Hands_Pickup**0 members

extends `BP_Panel`

Two-handed pickup demonstration on the showroom panel: a separate pickup interaction for each hand, told apart by the Grip_L and Grip_R prefixes, with a pickup coordinator over them so either hand or both can carry the panel. Copy the three components onto any prop that should be grabbable with both hands.

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

**BP_Plant_Example_Hands_Pickup**0 members

extends `BP_Plant`

Two-handed pickup demonstration on the showroom plant, built exactly as the panel version is: a left and a right pickup interaction separated by the Grip_L and Grip_R prefixes, with a coordinator over them. It is here so the example level can show the same setup on an awkwardly shaped object. Copy either one.

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

### Examples/UX/Interaction_Hands/Blueprints/Overlap

**BP_Button_Example_Hands**0 members

extends `BP_Button`

Showroom button as placed in the hand interaction example. It adds nothing to the button it derives from, whose overlap drag already answers to a finger pushing it, and exists so the level has a class of its own to place and configure. Read the parent for how the button works.

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

### Examples/UX/Interaction_Hands/Game

**BP_Pawn_VR_Char_Showroom_InteractionHands**0 members

extends `BP_Pawn_VR_Char_Showroom_Examples`

VR pawn for the hand interaction example level: the examples showroom pawn with the hand-mesh motion controllers put in place of the controller models, plus a gesture recogniser per hand watching for pinch and fist. Nominate it as the VR pawn of a level where tracked hands are the point, or copy the two defaults into a pawn of your own.

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

### Examples/UX/Locomotion/Blueprints

**BP_Example_Locomotion**0 members

extends `Actor`

Live settings panel for the locomotion ability: a name state choosing whether movement follows the camera or the controller, and a float state setting speed between 0.5 and 1.5 m/s. Each update walks every motion controller in the level and writes the value into its movement ability, so a change takes effect immediately. Read it for how to reach an ability at runtime.

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

### Examples/UX/Overlap/Blueprints

**BP_Button_Example_Overlap**0 members

extends `BP_Button`

Showroom button set up for the overlap example, with Invert Percent switched on so its drag reads 1 when the button is fully pressed rather than when it is released. That flag is the only change over the button it derives from. Read it beside the plain button to see what inverting does.

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

**BP_Example_Shape_Cube_Small_Overlap**0 members

extends `BP_Shape_Cube_Small`

Overlap demonstration: a small showroom cube carrying an overlap actor ability under the identifier Cube, so anything watching for overlaps can tell which shape it met. The smallest example of the overlap module; copy the single component onto a shape of your own.

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

### Examples/UX/Select/Blueprints

**BP_Cog_Select**0 members

extends `BP_Cog`

Select demonstration on the showroom cog: a select interaction whose trigger toggles the cog's boolean state, starting or stopping the gear. The pointer counterpart to the gaze version of the same prop, and the shortest example of the select module.

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

**BP_Cubboard_Select**0 members

extends `BP_Cubboard`

Select demonstration on the four-drawer cupboard: selecting anywhere on it steps every drawer's drag state to its next named section, sliding all four between Closed and Open at staggered speeds. Read it for one selection driving several state components; the gaze version does the same thing from a look.

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

**BP_Door_Select**0 members

extends `BP_Door`

Select demonstration on the showroom door: selecting toggles a boolean state whose update event plays a 0.7 second timeline swinging the door through 90 degrees. The animation lives on the state rather than the interaction, so the same door opens from a gaze or from anything else that flips the value.

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

**BP_Radio_Select**0 members

extends `BP_Radio`

Select demonstration on the showroom radio: a select interaction whose trigger toggles the radio's boolean state and so starts or stops the music. Nothing else is added over the radio. Read it beside the gaze version to compare the two interactions on identical wiring.

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

### Examples/UX/Teleporter/Blueprints

**BP_Chair_Example_Teleport**0 members

extends `BP_Chair`

Teleport target demonstration: a showroom chair with a scene teleport interaction and two arrows, one at seat height for the indicator and one at 110 cm marking where the pawn's eyes land. Attach To Target and Force Rotation are on, so teleporting seats the player facing forwards and keeps them with the chair if it moves. Copy the arrow and tag setup for any seat.

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

**BP_Example_TeleportNavMesh**0 members

extends `Actor`

Live setting for the teleporter ability: a single boolean state that switches every motion controller in the level between teleporting onto any surface and teleporting only where the navigation mesh allows. Meant to stand beside a demo table rather than ship in a project; read it for how to reach the teleport ability at runtime.

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

### Game

**BP_GameMode_Showroom_Examples**0 members

extends `BP_GameMode_Showroom`

Game mode for the example levels: the showroom game mode with the examples game state and player controller substituted in. Set it in world settings for a level that needs the examples navigation, or subclass it as the snapping level does when one level wants rules of its own.

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

**BP_GameState_Showroom_Examples**0 members

extends `BP_GameState_Showroom`

Game state for the example levels, carrying the showroom's navigation component so the kiosk and the pawn menu can list the example levels and travel between them. Selected by the examples game mode; you would not set it directly.

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

**BP_PlayerController_Showroom_Examples**0 members

extends `BP_PlayerController_Showroom`

Player controller for the example levels. It adds nothing to the showroom player controller it derives from, and is here as the place to put input or UI handling specific to the examples. The examples game mode already selects it.

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

### Pawn

**BP_Pawn_Desktop_Char_Showroom_Examples**0 members

extends `BP_Pawn_Desktop_Char_Showroom`

Desktop pawn for the example levels: the showroom desktop character with its menu component filled in with three pages, navigation, desktop settings and debug. Nominated through a level data asset rather than placed. Copy the Pages list when assembling a pawn menu of your own.

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

**BP_Pawn_Mobile_Char_Showroom_Examples**0 members

extends `BP_Pawn_Mobile_Char_Showroom`

Mobile pawn for the example levels. It adds nothing to the showroom mobile character it derives from and, unlike the desktop and VR pawns, carries no menu; it exists so the examples have a mobile pawn of their own to nominate in a level data asset.

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

**BP_Pawn_VR_Char_Showroom_Examples**0 members

extends `BP_Pawn_VR_Char_Showroom`

VR pawn for the example levels: the showroom VR character with its menu component filled in with the navigation, settings and debug pages. Nominated through a level data asset rather than placed, and the class the hand interaction pawn subclasses when tracked hands are wanted in place of controllers.

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