![]() |
Touch Interface Designer 2025.2
Create touch interface with a visual editor and manage all mobile inputs like gestures
|
#include <TouchInterfaceLayout.h>


Public Member Functions | |
| TSharedPtr< STouchInterface > | GetLayoutWidget () const |
| void | SetLayoutWidget (TSharedRef< STouchInterface > InLayoutWidget) |
| virtual void | ApplyLayout (TSharedRef< STouchInterface > TouchInterface) |
| virtual BlueprintCallable void | ShowLayout () |
| virtual BlueprintCallable void | HideLayout () |
| virtual BlueprintCallable bool | IsVisible () |
| BlueprintPure float | GetActiveOpacity () const |
| BlueprintCallable void | SetActiveOpacity (const float Opacity) |
| BlueprintPure float | GetInactiveOpacity () const |
| BlueprintCallable void | SetInactiveOpacity (const float Opacity) |
| virtual BlueprintPure float | GetLayoutScale () const |
| virtual BlueprintCallable void | SetLayoutScale (const float NewScale) |
| BlueprintCallable void | ResetToDefault () |
| BlueprintCallable void | Rebuild () |
| virtual BlueprintCallable ULayoutGroupComponent * | AddGroup (const FName DesiredName, const FVector2D Position) |
| virtual BlueprintCallable ULayoutComponent * | AddTouchInput (const FName DesiredName, const FVector2D Position, FVector2D Size, const TSubclassOf< UComponentLogic > LogicClass, UComponentLogic *&OutLogic) |
| virtual BlueprintCallable ULayoutComponent * | AddTouchInputInGroup (const FName DesiredName, const FVector2D Offset, FVector2D Size, TSubclassOf< UComponentLogic > LogicClass, const FName GroupName, UComponentLogic *&OutLogic) |
| virtual BlueprintCallable void | RemoveComponent (class ULayoutComponent *Component) |
| virtual BlueprintCallable void | RemoveComponentByName (const FName ComponentName) |
| virtual BlueprintCallable void | ShowComponent (const FName Name) |
| virtual BlueprintCallable void | HideComponent (const FName Name) |
| virtual BlueprintCallable void | ShowComponentByNames (const TArray< FName > Names) |
| virtual BlueprintCallable void | HideComponentByNames (const TArray< FName > Names) |
| virtual BlueprintCallable void | ShowAllComponents () |
| virtual BlueprintCallable void | HideAllComponents () |
| virtual BlueprintCallable void | ShowAllExcept (const FName Name) |
| virtual BlueprintCallable void | HideAllExcept (const FName Name) |
| virtual BlueprintCallable void | ShowAllExceptNamedOnes (const TArray< FName > Names) |
| virtual BlueprintCallable void | HideAllExceptNamedOnes (const TArray< FName > Names) |
| virtual BlueprintCallable bool | ContainComponent (const ULayoutComponent *Component, const bool bRecursively=false) |
| virtual BlueprintCallable bool | ContainComponentByName (const FName ComponentName, const bool bRecursively=false) |
| virtual BlueprintCallable bool | GetComponentByNames (TArray< ULayoutComponent * > &Components, const TArray< FName > Names, const bool bRecursively=false) |
| virtual BlueprintCallable bool | GetAllComponents (TArray< ULayoutComponent * > &Components, const bool bRecursively=false) |
| virtual BlueprintCallable ULayoutComponent * | GetComponentByName (const FName Name, const bool bRecursively=false) const |
| virtual BlueprintCallable bool | GetComponentsByLogicClass (TSubclassOf< UComponentLogic > LogicClass, TArray< ULayoutComponent * > &Components, const bool bRecursively=false) |
| BlueprintPure int32 | GetIndexOfComponent (ULayoutComponent *Component) |
| virtual BlueprintCallable bool | GetAllComponentName (TArray< FName > &Names, const bool bRecursively=false) |
Public Attributes | |
| Category ="Layout|Visibility" | |
| BlueprintCallable | |
| TArray< TObjectPtr< ULayoutComponent > > | Children |
| EditAnywhere | |
| BlueprintReadOnly uint8 | bFade:1 |
| BlueprintReadOnly | |
| meta | |
| EditAnywhere uint8 | bRetainRender:1 |
| EditAnywhere uint8 | bAllScreenGesture:1 |
| EditAnywhere uint8 | bAllScreenShapeDrawing:1 |
| EditAnywhere TSubclassOf< UVirtualShapeDrawer > | ShapeDrawerClass |
| EditAnywhere uint8 | bAllowOpacityModification:1 |
| EditAnywhere uint8 | bAllowRetainerWidgetModification:1 |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inline |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inline |
| int32 UTouchInterfaceLayout::GetIndexOfComponent | ( | ULayoutComponent * | Component | ) |
|
inlinevirtual |
| TSharedPtr< STouchInterface > UTouchInterfaceLayout::GetLayoutWidget | ( | ) | const |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
| void UTouchInterfaceLayout::Rebuild | ( | ) |
|
virtual |
|
virtual |
| void UTouchInterfaceLayout::ResetToDefault | ( | ) |
|
inline |
|
inline |
|
virtual |
| void UTouchInterfaceLayout::SetLayoutWidget | ( | TSharedRef< STouchInterface > | InLayoutWidget | ) |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
| EditAnywhere uint8 UTouchInterfaceLayout::bAllowOpacityModification |
| EditAnywhere uint8 UTouchInterfaceLayout::bAllowRetainerWidgetModification |
| EditAnywhere uint8 UTouchInterfaceLayout::bAllScreenGesture |
| EditAnywhere uint8 UTouchInterfaceLayout::bAllScreenShapeDrawing |
| BlueprintReadOnly uint8 UTouchInterfaceLayout::bFade |
| UTouchInterfaceLayout::BlueprintCallable |
| UTouchInterfaceLayout::BlueprintReadOnly |
| EditAnywhere uint8 UTouchInterfaceLayout::bRetainRender |
| UTouchInterfaceLayout::Category ="Layout|Visibility" |
Add group component to layout
| DesiredName | Name of component. Can be modified if name is not available. |
| Position | Position of component in layout |
Add touch input to layout
| DesiredName | Name of component. Can be modified if name is not available. |
| Position | Position of component in layout |
| Size | Size of component |
| LogicClass | Logic used for this component |
Add touch input to group. The group must exist in the layout.
| DesiredName | Name of component. Can be modified if name is not available. |
| Offset | Position of component in group |
| Size | Size of component |
| LogicClass | Logic used for this input |
| GroupName | Name of group |
Return true if layout contain the component.
| Component | layout component to search in layout |
| bRecursively | Check in group |
Return true if layout contain the component.
| ComponentName | name of layout component to search in layout |
| bRecursively | Check in group |
Return all components contained in layout that have the searched names
| Components | Array of all components in layout |
| Names | Names of component to get |
| bRecursively | Include Children of existing group |
Return true if there is at least one component in layout
| Components | Array of all components in layout |
| bRecursively | Include Children of existing group |
Returns the component with the searched name
| Name | Name of component searched |
| bRecursively | Search in group |
Returns true if the component is found
| LogicClass | Logic class searched |
| Components | Array of all components that have searched logic class |
| bRecursively | Search in group |
Returns true if there is at least one pressed component
| Components | Array of all components that is currently pressed |
| bRecursively | Search in group |
Returns true if there is at least one component in layout
| Names | Array of component names |
| bRecursively | Include children of existing group |
Opacity (0.0 - 1.0) of all components If Fade is enabled, opacity of all components while touch interface is active
How long after going inactive will all components reset/recenter themselves 0.0 will disable this feature and all components are reset immediately when the touch interface is deactivated
How long after the creation of the touch interface the inputs are activated 0.0 will disable this feature and the user can interact with the touch interface immediately
Delay on startup before components are drawn 0.016 is the minimum value to avoid geometry errors on low-end devices
Enable or disable retainer widget. Warning! If enabled, blur layer cannot be rendered.
The Phase this widget will draw on. If the Phase is 0, and the PhaseCount is 1, the widget will be drawn fresh every frame. If the Phase were 0, and the PhaseCount were 2, this retainer would draw a fresh frame every other frame. So in a 60Hz game, the UI would render at 30Hz.
The PhaseCount controls how many phases are possible know what to modulus the current frame count by to determine if this is the current frame to draw the widget on.
The effect to optionally apply to the render target. We will set the texture sampler based on the name set in the @TextureParameter property. If you want to adjust transparency of the final image, make sure you set Blend Mode to AlphaComposite (Pre-Multiplied Alpha) and make sure to multiply the alpha you're apply across the surface to the color and the alpha of the render target, otherwise you won't see the expected color.
Whether or not gesture is detected on all screen surface If it's disabled, you'll need to use a component with Free Touch logic that detects gestures.
| TArray<TObjectPtr<ULayoutComponent> > UTouchInterfaceLayout::Children |
TODO: Instanced
| UTouchInterfaceLayout::EditAnywhere |
| UTouchInterfaceLayout::meta |
| EditAnywhere TSubclassOf<UVirtualShapeDrawer> UTouchInterfaceLayout::ShapeDrawerClass |