UInteractiveToolPropertySet

A [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) contains a set of UObjects that contain "properties" of the Tool, ie the configuration flags, parameters, etc that control the Tool.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

UObjectBase

UObjectBaseUtility

UObject

UInteractiveToolPropertySet

UAcceptOutputProperties

UAddPatchToolProperties

UAlignObjectsToolProperties

UAttributeEditorActionPropertySet

UAttributeEditorCopyAttributeActions

UAttributeEditorLightmapUVActions

UAttributeEditorModifyAttributeActions

UAttributeEditorNewAttributeActions

UAttributeEditorNormalsActions

UAttributeEditorUVActions

UAttributeEditorAttribProperties

UBakeCurvatureMapToolProperties

UBakeInputMeshProperties

UBakeMeshAttributeMapsResultToolProperties

UBakeMeshAttributeMapsToolProperties

UBakeMeshAttributeVertexToolProperties

UBakeMultiMeshAttributeMapsToolProperties

UBakeMultiMeshInputToolProperties

UBakeMultiTexture2DProperties

UBakeNormalMapToolProperties

UBakeOcclusionMapToolProperties

UBakeTexture2DProperties

UBakeTransformToolProperties

UBakeVisualizationProperties

UBrushBaseProperties

UMeshTexturePaintingToolProperties

UMeshVertexPaintingToolProperties

UMeshColorPaintingToolProperties

UMeshWeightPaintingToolProperties

UBspConversionToolActionPropertySet

UBspConversionToolProperties

UCollisionGeometryVisualizationProperties

UCombineMeshesToolProperties

UConvertMeshesToolProperties

UConvertToPolygonsToolProperties

UCreateMeshObjectTypeProperties

UCSGMeshesToolProperties

UCubeGridDuringActivityActions

UCubeGridToolActions

UCubeGridToolProperties

UCutMeshWithMeshToolProperties

UDeformMeshPolygonsTransformProperties

UDiffusionSmoothProperties

UDisplaceMeshCommonProperties

UDisplaceMeshDirectionalFilterProperties

UDisplaceMeshPerlinNoiseProperties

UDisplaceMeshSineWaveProperties

UDisplaceMeshTextureMapProperties

UDrawPolygonToolSnapProperties

UDrawPolygonToolStandardProperties

UDrawPolyPathExtrudeProperties

UDrawPolyPathProperties

UDynamicMeshBrushProperties

UDynamicMeshBrushSculptProperties

UDynamicSculptToolActions

UEdgeLoopInsertionProperties

UEditGroomCardsToolActionPropertySet

UEditGroomCardsToolActions

USelectGroomCardsToolActions

UEditMeshMaterialsToolProperties

UEditMeshPolygonsToolActionPropertySet

UEditMeshPolygonsToolAcceptCancelAction

UEditMeshPolygonsToolActions

UEditMeshPolygonsToolActions_Triangles

UEditMeshPolygonsToolCancelAction

UEditMeshPolygonsToolEdgeActions

UEditMeshPolygonsToolEdgeActions_Triangles

UEditMeshPolygonsToolUVActions

UEditNormalsAdvancedProperties

UEditNormalsToolProperties

UEditPivotToolActionPropertySet

UEditPivotToolProperties

UExistingMeshMaterialProperties

UExtractCollisionToolProperties

UFixedPlaneBrushProperties

UGenerateStaticMeshLODAssetToolOutputProperties

UGenerateStaticMeshLODAssetToolPresetProperties

UGenerateStaticMeshLODAssetToolProperties

UGenerateStaticMeshLODAssetToolTextureProperties

UGroomCardsInfoToolProperties

UGroomToMeshToolProperties

UGroupEdgeInsertionProperties

UGroupPaintBrushFilterProperties

UHoleFillStatisticsProperties

UHoleFillToolActions

UHoleFillToolProperties

UImplicitOffsetProperties

UImplicitSmoothProperties

UIterativeOffsetProperties

UIterativeSmoothProperties

UKelvinBrushProperties

ULatticeDeformerToolProperties

ULODManagerActionPropertySet

ULODManagerHiResSourceModelActions

ULODManagerMaterialActions

ULODManagerLODProperties

ULODManagerPreviewLODProperties

UMergeMeshesToolProperties

UMeshAnalysisProperties

UMeshAttributePaintBrushOperationProperties

UMeshAttributePaintEditActions

UMeshAttributePaintToolProperties

UMeshConstraintProperties

UGenerateLODMeshesToolProperties

URemeshProperties

UBrushRemeshProperties

URemeshMeshToolProperties

UProjectToTargetToolProperties

USimplifyMeshToolProperties

UMeshEditingViewProperties

UMeshElementsVisualizerProperties

UMeshGroupPaintToolActionPropertySet

UMeshGroupPaintToolFreezeActions

UMeshInspectorProperties

UMeshSculptBrushOpProps

UBasePlaneBrushOpProps

UFixedPlaneBrushOpProps

UPlaneBrushOpProps

UViewAlignedPlaneBrushOpProps

UBaseSmoothBrushOpProps

USecondarySmoothBrushOpProps

USmoothBrushOpProps

USmoothFillBrushOpProps

UEraseBrushOpProps

UFlattenBrushOpProps

UGroupEraseBrushOpProps

UGroupPaintBrushOpProps

UInflateBrushOpProps

UMoveBrushOpProps

UPinchBrushOpProps

USculptMaxBrushOpProps

UStandardSculptBrushOpProps

UViewAlignedSculptBrushOpProps

UMeshSelectionMechanicProperties

UMeshSelectionToolActionPropertySet

UEditMeshMaterialsEditActions

UMeshSelectionEditActions

UMeshSelectionMeshEditActions

UMeshSelectionToolProperties

UMeshSpaceDeformerToolActionPropertySet

UMeshSpaceDeformerToolProperties

UMeshStatisticsProperties

UMeshTangentsToolProperties

UMeshToVolumeToolProperties

UMeshUVChannelProperties

UMirrorToolActionPropertySet

UMirrorToolProperties

UNewMeshMaterialProperties

UOffsetMeshToolProperties

UOnAcceptHandleSourcesPropertiesBase

UOnAcceptHandleSourcesProperties

UBaseCreateFromSelectedHandleSourceProperties

UOnAcceptHandleSourcesPropertiesSingle

UParameterizeMeshToolPatchBuilderProperties

UParameterizeMeshToolProperties

UParameterizeMeshToolUVAtlasProperties

UParameterizeMeshToolXAtlasProperties

UPhysicsObjectToolPropertySet

UPlaneCutToolProperties

UPolyEditCommonProperties

UPolyEditCutProperties

UPolyEditExtrudeProperties

UPolyEditInsetOutsetProperties

UPolyEditOffsetProperties

UPolyEditPushPullProperties

UPolyEditSetUVProperties

UPolygonOnMeshToolActionPropertySet

UPolygonOnMeshToolProperties

UPolygonSelectionMechanicProperties

UPolygroupLayersProperties

UParameterizeMeshToolPatchBuilderGroupLayerProperties

UProceduralShapeToolProperties

UProceduralArrowToolProperties

UProceduralBoxToolProperties

UProceduralConeToolProperties

UProceduralCylinderToolProperties

UProceduralDiscToolProperties

UProceduralRectangleToolProperties

UProceduralSphereToolProperties

UProceduralStairsToolProperties

UProceduralTorusToolProperties

URecomputeUVsToolProperties

URemoveOccludedTrianglesAdvancedProperties

URemoveOccludedTrianglesToolProperties

URevolveProperties

URevolveBoundaryToolProperties

URevolveToolProperties

USculptBrushProperties

USculptMaxBrushProperties

USeamSculptToolProperties

USelectToolActionPropertySet

USelfUnionMeshesToolProperties

USetCollisionGeometryToolProperties

UShapeSprayToolProperties

USkinWeightsBindingToolProperties

USkinWeightsPaintToolProperties

USmoothHoleFillProperties

USmoothMeshToolProperties

USpaceCurveDeformationMechanicPropertySet

USplitMeshesToolProperties

USubdividePolyToolProperties

UTransferMeshToolProperties

UTransformInputsToolProperties

UTransformMeshesToolProperties

UTrimMeshesToolProperties

UUVEditorBackgroundPreviewProperties

UUVEditorChannelEditAddProperties

UUVEditorChannelEditCopyProperties

UUVEditorChannelEditDeleteProperties

UUVEditorChannelEditSettings

UUVEditorChannelEditTargetProperties

UUVEditorChannelEditToolActionPropertySet

UUVEditorUVChannelProperties

UUVLayoutPreviewProperties

UUVLayoutProperties

UUVProjectionToolEditActions

UUVProjectionToolProperties

UVertexBrushAlphaProperties

UVertexBrushSculptProperties

UVolumeToMeshToolProperties

UVoxelBlendMeshesToolProperties

UVoxelCSGMeshesToolProperties

UVoxelMorphologyMeshesToolProperties

UVoxelProperties

UVoxelSolidifyMeshesToolProperties

UWeightMapSetProperties

UOffsetWeightMapSetProperties

USmoothWeightMapSetProperties

UWeldMeshEdgesToolProperties

UWorkPlaneProperties

References

Module

InteractiveToolsFramework

Header

/Engine/Source/Runtime/InteractiveToolsFramework/Public/InteractiveTool.h

Include

#include "InteractiveTool.h"

Syntax

class UInteractiveToolPropertySet :
    public UObject,
    public FWatchablePropertySet

Remarks

A UInteractiveTool contains a set of UObjects that contain "properties" of the Tool, ie the configuration flags, parameters, etc that control the Tool. Currently any UObject can be added as a property set, however there is no automatic mechanism for those child UObjects to notify the Tool when a property changes.

If you make your property set UObjects subclasses of UInteractiveToolPropertySet, then when the Tool Properties are changed in the Editor, the parent Tool will be automatically notified. You can override UInteractiveTool::OnPropertyModified() to act on these notifications

Variables

Name Description

Protected variable

bool

 

bIsPropertySetEnabled

Controls whether a property set is shown in the UI. Transient so that disabling a PropertySet in one tool doesn't disable it in others.

Protected variable

TMap< FString, ...

 

CachedPropertiesMap

Protected variable

FInteractiveToo...

 

OnModified

Functions

Name Description

Protected function

TObjectPtr< ...

 

GetDynamicPropertyCache

(
    const FString& CacheIdentifier,
    bool& bWasCreatedOut
)

GetDynamicPropertyCache return class-internal objects that subclasses can use to save/restore properties.

Public function

FInteractive...

 

GetOnModified()

Public function Const

bool

 

IsPropertySetEnabled()

Return true if this property set is enabled.

Public function Virtual

void

 

RestoreProperties

(
    UInteractiveTool* RestoreToToo...,
    const FString& CacheIdentifier
)

Restore the values of the Property Set with the given CacheIdentifier.

Public function Virtual

void

 

SaveProperties

(
    UInteractiveTool* SaveFromTool,
    const FString& CacheIdentifier
)

Setting saving/serialization Save and restore values of current Tool Properties between tool invocations.

Protected function Virtual

void

 

SaveRestoreProperties

(
    UInteractiveTool* RestoreToToo...,
    const FString& CacheIdentifier,
    bool bSaving
)

Utility func used to implement the default Save/RestoreProperties funcs.

Overridden from UObject

Name Description

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Posts a message to the OnModified delegate with the modified FProperty