Navigation
API > API/Plugins > API/Plugins/ScriptableToolsFramework
Inheritance Hierarchy
- UObject
- IInputBehaviorSource
- UInteractiveTool
- UScriptableInteractiveTool
- UEditorScriptableInteractiveTool
- UScriptableClickDragTool
- UEditorScriptableClickDragTool
- UScriptableModularBehaviorTool
- UEditorScriptableModularBehaviorTool
- UScriptableSingleClickTool
- UEditorScriptableSingleClickTool
References
| Module | ScriptableToolsFramework |
| Header | /Engine/Plugins/Runtime/ScriptableToolsFramework/Source/ScriptableToolsFramework/Public/ScriptableInteractiveTool.h |
| Include | #include "ScriptableInteractiveTool.h" |
Syntax
UCLASS (Transient, Blueprintable)
class UScriptableInteractiveTool : public UInteractiveTool
Remarks
UScriptableInteractiveTool is an extension of UInteractiveTool that allows the Tool functionality to be defined via Blueprints.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bShowToolInEditor | A generic flag to indicate whether this Tool should be shown in the UE Editor. | |
| FString | CustomIconPath | Relative Path to a custom Icon Image for this Tool. | |
| TObjectPtr< UScriptableToolLineSet > | DefaultLineSet | ||
| TObjectPtr< UScriptableToolPointSet > | DefaultPointSet | ||
| TObjectPtr< UScriptableToolTriangleSet > | DefaultTriangleSet | ||
| TObjectPtr< UScriptableTool_HUDAPI > | DrawHUDHelper | ||
| EditCondition | |||
| EditConditionHides | |||
| TMap< FString, TObjectPtr< UCombinedTransformGizmo > > | Gizmos | Trying to avoid making a UStruct for this internal stuff | |
| FScriptableToolGroupSet | GroupTags | ||
| FString | Identifier | ||
| TArray< TObjectPtr< UScriptableToolLineSet > > | LineSets | ||
| MustImplement | |||
| TMap< FString, TWeakObjectPtr< UScriptableInteractiveToolPropertySet > > | NamedPropertySets | ||
| FString const FToolFloatPropertyModifiedDelegate & | OnModified | ||
| FString const FToolFNamePropertyModifiedDelegate & | OnModified | ||
| FString const FToolObjectPropertyModifiedDelegate & | OnModified | ||
| FString const FToolStringPropertyModifiedDelegate & | OnModified | ||
| FString const FToolIntPropertyModifiedDelegate & | OnModified | ||
| FString const FToolBoolPropertyModifiedDelegate & | OnModified | ||
| FString const FToolEnumPropertyModifiedDelegate & | OnModified | ||
| FString const FToolPropertyModifiedDelegate & | OnModified | ||
| FStringEToolsFrameworkOutcomePins & | Outcome | ||
| TArray< TObjectPtr< UScriptableToolPointSet > > | PointSets | ||
| FString | PropertyName | ||
| TObjectPtr< UScriptableTool_RenderAPI > | RenderHelper | ||
| FString | SaveKey | ||
| TArray< TObjectPtr< UToolTarget > > | Targets | ||
| TWeakObjectPtr< UWorld > | TargetWorld | ||
| FText | ToolCategory | Category of this Tool, will be used in (eg) Tool Palette Section headers | |
| TObjectPtr< UPreviewGeometry > | ToolDrawableGeometry | ||
| FText | ToolLongName | Long Name of this Tool, will be used in (eg) longer labels like the Accept/Cancel toolbar | |
| FText | ToolName | Name of this Tool, will be used in (eg) Toolbars | |
| EScriptableToolShutdownType | ToolShutdownType | Specifies how the user exits this Tool, either Accept/Cancel-style or Complete-style | |
| EScriptableToolStartupRequirements | ToolStartupRequirements | ||
| FText | ToolTooltip | Tooltip used for this Tool in (eg) icons/etc | |
| TArray< TObjectPtr< UScriptableToolTriangleSet > > | TriangleSets | ||
| TArray< FAnyPropertyWatchInfo > | WatchAnyPropertyInfo | ||
| TArray< FToolBoolPropertyModifiedDelegate > | WatchBoolPropertyDelegates | ||
| TArray< FToolEnumPropertyModifiedDelegate > | WatchEnumPropertyDelegates | ||
| TArray< FToolFloatPropertyModifiedDelegate > | WatchFloatPropertyDelegates | ||
| TArray< FToolFNamePropertyModifiedDelegate > | WatchFNamePropertyDelegates | ||
| TArray< FToolIntPropertyModifiedDelegate > | WatchIntPropertyDelegates | ||
| TArray< FToolObjectPropertyModifiedDelegate > | WatchObjectPropertyDelegates | ||
| TArray< FToolStringPropertyModifiedDelegate > | WatchStringPropertyDelegates |
Functions
| Type | Name | Description | |
|---|---|---|---|
| UScriptableToolLineSet * | AddLineSet () |
Create and return a new, independent line set, used for drawing persistent line objects in the scene. | |
| void | AddLogMessage
(
FText Message, |
Append a Message to the UE Editor Log. | |
| UScriptableToolPointSet * | AddPointSet () |
Create and return a new, independent point set, used for drawing persistent point objects in the scene. | |
| UScriptableToolTriangleSet * | Create and return a new, independent triangle set, used for drawing persistent triangle and quad objects in the scene. | ||
| void | |||
| void | ClearUserMessages
(
bool bHelpMessage, |
Clear any active message shown via DisplayUserHelpMessage and/or DisplayUserWarningMessage | |
| void | CreateTRSGizmo
(
FString Identifier, |
Gizmo API | |
| void | DestroyTRSGizmo
(
FString Identifier, |
Destroy a created Gizmo by name Identifier | |
| void | DisplayUserHelpMessage
(
FText Message |
Display a short Help message for the user, ie to guide them in Tool usage. | |
| void | DisplayUserWarningMessage
(
FText Message |
Display a Warning message to the user, ie to indicate a problem/issue occurred. | |
| void | ForcePropertySetUpdateByName
(
FString Identifier |
Force the Property Set associated with the given Identifier to be updated. | |
| UScriptableToolLineSet * | Retrieve the default line set object for the tool, used for drawing persistent line objects in the scene. | ||
| UScriptableToolPointSet * | Retrieve the default point set object for the tool, used for drawing persistent point objects in the scene. | ||
| UScriptableToolTriangleSet * | Retrieve the default triangle set object for the tool, used for drawing persistent triangle and quad objects in the scene. | ||
| UBaseScriptableToolBuilder * | GetNewCustomToolBuilderInstance
(
UObject* Outer |
Return instance of custom tool builder. Should only be called on CDO. | |
| UWorld * | GetToolWorld () |
Access the World this Tool is currently operating on. | |
| UWorld * | GetWorld () |
||
| void | OnGizmoTransformChanged
(
const FString& GizmoIdentifier, |
The OnGizmoTransformChanged event fires whenever the transform on any Gizmo created by CreateTRSGizmo() is modified. | |
| void | OnGizmoTransformChanged_Handler
(
FString GizmoIdentifier, |
||
| void | OnGizmoTransformStateChange
(
const FString& GizmoIdentifier, |
The OnGizmoTransformStateChange event fires whenever the user start/ends a Gizmo transform, or when an Undo/Redo event occurs. | |
| void | OnGizmoTransformStateChange_Handler
(
FString GizmoIdentifier, |
||
| bool | CanAccept function. | ||
| bool | |||
| void | OnScriptDrawHUD
(
UPARAM(DisplayName="HUD Object") UScriptableTool_HUDAPI* DrawHUDAPI |
OnScriptDrawHUD is called every frame. | |
| void | OnScriptRender
(
UPARAM(DisplayName="Render Object") UScriptableTool_RenderAPI* RenderAPI |
OnScriptRender is called every frame. | |
| void | Implement OnScriptSetup to do initial setup/configuration of the Tool, such as adding Property Sets, creating Gizmos, etc | ||
| void | OnScriptShutdown
(
EToolShutdownType ShutdownType |
OnScriptShutdown is called when the Tool is shutting down. | |
| void | OnScriptTick
(
float DeltaTime |
OnScriptTick is called every Editor Tick, ie basically every frame. | |
| void | |||
| void | RemovePropertySetByName
(
FString Identifier, |
Remove a Property Set from the current Tool, found via it's unique Identifier. | |
| void | RequestToolShutdown
(
bool bAccept, |
Request that the active Tool be shut down. | |
| void | SetGizmoTransform
(
FString Identifier, |
Update the Transform on the Gizmo specified by the name Identifier | |
| void | SetGizmoVisible
(
FString Identifier, |
Set an existing Gizmo visible/hidden based on its name Identifier | |
| void | SetOverlayWidget
(
UUserWidget* Widget, |
||
| void | SetPropertySetVisibleByName
(
FString Identifier, |
Set the visibility of a Property Set that is paired with the given unique Identifier. | |
| void | SetTargets
(
TArray< TObjectPtr< UToolTarget > > TargetsIn |
||
| void | SetTargetWorld
(
UWorld* World |
||
UPARAM
(
DisplayName |
Property Set support Create a new Tool Property Set (ie BP subclass of UScriptableInteractiveToolPropertySet) with the given string Identifier and attach it to the Tool. | ||
UPARAM
(
DisplayName |
Restore the values of the specified PropertySet, optionally with a specific SaveKey string. | ||
UPARAM
(
DisplayName |
Save the values of the specified PropertySet, optionally with a specific SaveKey string. | ||
UPARAM
(
DisplayName |
Property Watcher support Watch a Float-valued Property for changes (double precision) | ||
UPARAM
(
DisplayName |
Watch an Integer-valued Property for changes | ||
UPARAM
(
DisplayName |
Watch a Bool-valued Property for changes | ||
UPARAM
(
DisplayName |
Watch an Enum-valued Property for changes. | ||
UPARAM
(
DisplayName |
Watch a String-valued Property for changes | ||
UPARAM
(
DisplayName |
Watch an (F)Name-valued Property for changes | ||
UPARAM
(
DisplayName |
Watch an Object-valued Property for changes (ie UObject, UClass, etc) | ||
UPARAM
(
DisplayName |
Watch any Property in a PropertySet for changes. | ||
UPARAM
(
DisplayName |
Get the current Transform on the Gizmo specified by the name Identifier | ||
UPARAM
(
DisplayName |
Overridden from UInteractiveTool
| Type | Name | Description | |
|---|---|---|---|
| bool | CanAccept () |
||
| void | DrawHUD
(
FCanvas* Canvas, |
Allow the Tool to do any custom screen space drawing | |
| bool | HasAccept () |
||
| bool | HasCancel () |
||
| void | OnTick
(
float DeltaTime |
Allow the Tool to do any necessary processing on Tick | |
| void | Render
(
IToolsContextRenderAPI* RenderAPI |
Render and DrawHUD support | |
| void | Setup () |
Called by ToolManager to initialize the Tool after ToolBuilder::BuildTool() has been called | |
| void | Shutdown
(
EToolShutdownType ShutdownType |
Called by ToolManager to shut down the Tool |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FAnyPropertyWatchInfo |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EAnyPropertyWatchTypes |