description: Called to initialize the InteractionMechanic

code: virtual void Setup ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * ParentTool )


className: ShiftModifierID

module: UVEditorTools

code: static const int32 ShiftModifierID = 1;


description: All four combinations of shift/ctrl down are assigned a behaviour.

code: bool ShouldAddToSelection() const


code: bool ShouldRestartSelection() const


code: bool ShouldRemoveFromSelection() const


code: bool ShouldToggleFromSelection() const


description: Called to clean up the InteractionMechanic

code: virtual void Shutdown()


className: UUVEditorMeshSelectionMechanic

description: Mechanic for selecting elements of a dynamic mesh in the UV editor. Interacts heavily withUUVToolSelectionAPI, which actually stores selections.

AppliedMeshSpatials

type: TArray<TShared...

AssetIDToPreDragSelection

type: TArray< constF...

description: Maps asset id to a pre drag selection so that it is easy to tell which assets started with a selection.

bCtrlToggle

type: bool

CameraState

type: FViewCameraStat...

EmitChangeAPI

type: TObjectPtr<UUV...

HoverGeometryActor

type: TObjectPtr<APr...

HoverLineSet

type: TWeakObjectPtr<...

HoverTriangleSet

description: Weak pointers so that they go away when geometry actor is destroyed.

HoverTriangleSetMaterial

type: TObjectPtr<UMa...

LivePreviewBehaviorSet

type: TObjectPtr<UIn...

LivePreviewBehaviorSource

type: TObjectPtr<ULo...

LivePreviewMarqueeMechanic

type: TObjectPtr<URe...

OnDragSelectionChanged

type: FSimpleMulticas...

description: Broadcasted whenever the marquee mechanic rectangle is changed, since these changes don't trigger normal selection broadcasts.

PreDragSelections

type: TArray<FUVTool...

SelectionMode

type: ESelectionMode

Targets

type: TArray<TObject...


description: Preps a selection change transaction, if the user wants more control on what the previous and current selection is.

code: void BeginChange()


code: void ClearHighlight ( bool bClearForUnwrap, bool bClearForAppliedPreview )


description: Equivalent to calling SetSelections with an empty array.

code: void ClearSelections ( bool bBroadcast, bool bEmitChange )


code: void ClearUnsetElementAppliedMeshSelections ( bool bBroadcast, bool bEmitChange )


code: virtual void DrawHUD ( [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Ends the active change and emits it via the EmitChangeAPI

code: bool EndChangeAndEmitIfModified ( bool bBroadcast )


className: EUVEditorSelectionMode

description: Mode of operation for the selection mechanic.

code: enum EUVEditorSelectionMode { None, Vertex, Edge, Triangle, Island, Mesh, }


className: FHighlightOptions

code: struct FHighlightOptions

bAutoUpdateApplied

description: When true, SetSelection calls will trigger a rebuild of the applied highlight.

bAutoUpdateUnwrap

description: When true, SetSelection calls will trigger a rebuild of the unwrap highlight.

bBaseHighlightOnPreviews

description: When true, highlighting is based off of the preview meshes rather than the canonical meshes.

bShowPairedEdgeHighlights

description: When building the unwrap highlight, show each edge and the paired edge to which it can be welded (in different colors).

bUseCentroidForUnwrapAutoUpdate

description: If unwrap highlights are automatically updated, the start transform of these will be set to the centroid of the selection when the below is true.


className: FOnPreSelectionChange

description: Broadcasted right before a selection change is applied (and therefore before a selection change transaction is emitted). Useful if a user wants to emit their own bookend transaction first.

code: typedef TMulticastDelegate_TwoParams< void, bool bEmitChangeAllowed, uint32 SelectionChangeType > FOnPreSelectionChange


className: FOnSelectionChanged

description: Broadcasted after a selection change is applied (after the selection change transaction is emitted, if relevant).

code: typedef TMulticastDelegate_TwoParams< void, bool bEmitChangeAllowed, uint32 SelectionChangeType > FOnSelectionChanged


description: Makes the change to the object

code: virtual void Apply &40; UObject &42; Object &41;


description: Useful for storing a pending change and figuring out whether it needs to be emitted. Respects bUseStableUnwrapCanonicalIDsForEdges.

code: virtual TArray< FUVToolSelection > GetBefore&40;&41; const


description: true if this Change has Expired, ie it will no longer have any effect and could be skipped by undo/redo

code: virtual bool HasExpired &40; UObject &42; Object &41; const


description: Reverts change to the object

code: virtual void Revert &40; UObject &42; Object &41;


description: Describes this change (for debugging)

code: virtual FString ToString&40;&41; const


code: virtual void SetAfter &40; TArray< FUVToolSelection > Selections &41;


code: virtual void SetBefore &40; TArray< FUVToolSelection > Selections &41;


className: FSelectionChange

description: An object representing a selection that can be as an undo/redo item, usually emitted by the selection API itself. ExpectsUUVToolSelectionAPIto be the associatedUObject.

code: class FSelectionChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)

bUseStableUnwrapCanonicalIDsForEdges

description: When true, edge-type selections are not stored as eids, but rather as stable identifiers relative to the UnwrapCanonical mesh in the Target of the selection.


description: Shouldn't really need this constructor but there seems to be a clang bug that requires it if we want to use a default-constructed instance as a default arg as we do below.


className: FSelectionMechanicOptions

code: struct FSelectionMechanicOptions


className: FSelectionMechanicModeChangeOptions

description: Options for how aSetSelectionMechanicMode()call is performed.

bBroadcastIfConverted

description: If true and a conversion is performed (requires bConvertExisting to be true), the OnPreSelectionChanged and OnSelectionChanged delegates will be broadcast.

bConvertExisting

description: If true, any existing selection will be converted to be compatible with the new mode.

bEmitChanges

description: If true, emit appropriate undo / redo transactions.


code: virtual const TArray< FUVToolSelection > & GetBefore&40;&41; const


className: FUnsetSelectionChange

description: An object representing an unset UV selection that can be as an undo/redo item, usually emitted by the selection API itself. ExpectsUUVToolSelectionAPIto be the associatedUObject.

code: class FUnsetSelectionChange : public [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange)


description: Each selection object is considered to be referring to the CanonicalUnwrap mesh of the associated target.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FUVToolSelection](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\FUVToolSelection) > & GetSelections() const


description: Returns type (vertex/edge/triangle) of current selection. Undefined if selection is empty.


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FUVToolSelection](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\FUVToolSelection) > & GetUnsetElementAppliedMeshSelections()


description: Note: you should call with bForceRecalculate = true whenever calling this from OnCanonicalModified, because it is not guaranteed that the selection api will detect the mesh change (and therefore invalidate the cached value) before your call site, due to the order of OnCanonicalModified broadcasts

code: FVector3d GetUnwrapSelectionBoundingBoxCenter ( bool bForceRecalculate )


description: Returns true when current selection is not empty.

code: bool HaveSelections() const


description: These are functions that are used if a selection made in the applied mesh cannot be converted to an unwrap mesh selection due to unset UV elements (meaning that the selected portion does not exist in the unwrap mesh). Such selections are stored separately from all those that are able to be converted (which get stored with the usual unwrap selections). These "unset element" selections are ignored by many tools/actions but operated on by some others.


description: Initialization functions:

code: void Initialize ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * ToolManagerIn, [UWorld](API\Runtime\Engine\Engine\UWorld) * UnwrapWorld, [UInputRouter](API\Runtime\InteractiveToolsFramework\UInputRouter) * UnwrapInputRouterIn, [UUVToolLivePreviewAPI](API\Plugins\UVEditorTools\ContextObjects\UUVToolLivePreviewAPI) * LivePreviewAPI, [UUVToolEmitChangeAPI](API\Plugins\UVEditorTools\ContextObjects\UUVToolEmitChangeAPI) * EmitChangeAPIIn )


description: Returns true in betweenInitialize()andShutdown(). Used by undo/redo to expire transactions when editor is closed.

code: bool IsActive() const


code: virtual void LivePreviewDrawHUD ( [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Could have had the api place these into the LivePreviewAPI delegates, but decided against it to align withRender()andDrawHUD()above. The owner will just call these directly.

code: virtual void LivePreviewRender ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: void RebuildAppliedPreviewHighlight()


description: Called whenever a tool is ended, for instance to let a context object remove listeners associated with that tool (it shouldn't have to do so, but may choose to for robustness).

code: virtual void OnToolEnded ( [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * DeadTool )


description: Build up a highlight of the current selection in the Unwrap, with a given transform considered as its start transform.

code: void RebuildUnwrapHighlight ( const FTransform & StartTransform )


description: Called by the owner of the API.

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: void SetSelectionMechanicOptions ( const [FSelectionMechanicOptions](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\FSelectionMechanicOptions) & Options )


code: void SetHighlightOptions ( const [FHighlightOptions](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\FHighlightOptions) & Options )


description: Changes the visibility of the highlight.

code: void SetHighlightVisible ( bool bUnwrapHighlightVisible, bool bAppliedHighlightVisible, bool bRebuild )


code: void SetSelectionMechanicEnabled ( bool bEnabled )


description: Sets the mechanic mode of operation.

code: void SetSelectionMechanicMode ( [EUVEditorSelectionMode](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\EUVEditorSelectionMode) Mode, const [FSelectionMechanicModeChangeOptions](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\FSelectionMechan-) & Options )


description: Sets the current selection. Selections should be same type, with no more than one selection object per asset, and no empty selection objects. Selections should be referring to the UnwrapCanonical of the associated target.

code: void SetSelections ( const [TArray](API\Runtime\Core\Containers\TArray)< [FUVToolSelection](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\FUVToolSelection) > & SelectionsIn, bool bBroadcast, bool bEmitChange )


description: Should be called afterInitialize()

code: void SetTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) >> & TargetsIn )


code: void SetUnsetElementAppliedMeshSelections ( const [TArray](API\Runtime\Core\Containers\TArray)< [FUVToolSelection](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\FUVToolSelection) > & SelectionsIn, bool bBroadcast, bool bEmitChange )


description: Change the transform of the unwrap highlight without rebuilding it (for cheap movement of the highlight when translating the elements). Note that unmoved paired edges (if paired edge highlighting is enabled) will still be rebuilt since their shape may be changed by the movement of adjacent edges.

code: void SetUnwrapHighlightTransform ( const FTransform & NewTransform )


description: UUVToolContextObject.

code: virtual void Shutdown()


className: UUVToolSelectionAPI

description: There are also functions to enable automatic highlighting of the current selection, and to enable a selection mechanic in the viewport (to which tools can respond via OnSelectionChanged broadcasts).

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVToolSelectionAPI : public [UUVToolContextObject](API\Plugins\UVEditorTools\ContextObjects\UUVToolContextObject)

HighlightOptions

type: FHighlightOptio...

OnDragSelectionChanged

description: Broadcasted whenever the marquee rectangle is changed, since these changes don't trigger normal selection broadcasts.

OnPreSelectionChange

type: FOnPreSelection...

OnSelectionChanged

type: FOnSelectionCha...

PendingSelectionChange

type: TUniquePtr<FSe...

PendingUnsetSelectionChange

type: TUniquePtr<FUn...


description: Adds additional highlighting elements based on selection information. This is used to extend selection line sets for the unset selections if they are needed.

code: void AppendAppliedHighlight ( const [TArray](API\Runtime\Core\Containers\TArray)< [FUVToolSelection](API\Plugins\UVEditorTools\Selection\FUVToolSelection) > & AppliedSelections, bool bUsePreviews )


description: Get the current transform of the unwrap highlight.


code: void Initialize ( [UWorld](API\Runtime\Engine\Engine\UWorld) * UnwrapWorld, [UWorld](API\Runtime\Engine\Engine\UWorld) * LivePreviewWorld )


description: Convert the unwrap selections to elements in the applied mesh, then highlight those there.

code: void RebuildAppliedHighlightFromUnwrapSelection ( const [TArray](API\Runtime\Core\Containers\TArray)< [FUVToolSelection](API\Plugins\UVEditorTools\Selection\FUVToolSelection) > & UnwrapSelections, bool bUsePreviews )


description: Rebuilds the unwrap mesh highlights.

code: void RebuildUnwrapHighlight ( const [TArray](API\Runtime\Core\Containers\TArray)< [FUVToolSelection](API\Plugins\UVEditorTools\Selection\FUVToolSelection) > & Selections, const FTransform & StartTransform, bool bUsePreviews )


description: When true, edge selections also highlight the edge pairings (i.e. edges that could weld with the selected edges). Note that the call itself controls visibility and the next rebuild call, but won't cause an immediate rebuild on its own.

code: void SetEnablePairedEdgeHighlights ( bool bEnable )


code: void SetIsVisible ( bool bUnwrapHighlightVisible, bool bLivePreviewHighlightVisible )


description: Set the transform of the unwrap mesh highlights without rebuilding them, likely to follow the translation of the underlying elements via gizmo.

code: void SetUnwrapHighlightTransform ( const FTransform & Transform, bool bRebuildStaticPairedEdges, bool bUsePreviews )


description: Called to clean up the InteractionMechanic


className: UUVToolSelectionHighlightMechanic

description: Mechanic for highlighting mesh elements (usually selection) in the UV editor.

bPairedEdgeHighlightsEnabled

type: bool

StaticPairedEdgeVidsPerMesh

type: TArray< TPair< ...

description: Per mesh, gives a list of endpoint vid pairs for the unselected edges that are part of edge pairs, for rebuilding when necessary.


className: UUVToolSupportsSelection

description: UInterfaceforIUVToolSupportsSelection.

code: class UUVToolSupportsSelection : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< FDynamicMesh3 > GetMesh ( int32 LayerIndex )


code: void SaveBackToUVs ( const FDynamicMesh3 * MeshToSave, int32 LayerIndex )


className: IUVUnwrapDynamicMesh

description: Interface that is able to use the UV's of a target to generate a flat FDynamicMesh representing a given layer, and to bake a modified such mesh back to the UV's of the target provided that the triangle id's have all stayed the same.

code: class IUVUnwrapDynamicMesh


className: UUVUnwrapDynamicMesh

code: class UUVUnwrapDynamicMesh : public [UInterface](API\Runtime\CoreUObject\UObject\UInterface)


description: Get the unwrap vids corresponding to a given applied vid. These will be multiple if the vertex is a seam vertex and therefore has multiple UV elements associated with it.

code: void AppliedVidToUnwrapVids ( int32 AppliedVid, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & UnwrapVidsOut )


description: Returns whether or not the canonical and preview meshes are still valid. This is separated from IsValid, in case we are interested in the status of just the canonical and preview meshes.

code: virtual bool AreMeshesValid() const


className: FOnObjectModified

description: Broadcast when the canonical unwrap or applied meshes change. This gets broadcast by utility functions in this class that update those meshes (except for UpdateUnwrapCanonicalOverlayFromPositions, which is usually followed by a more complete update). If those utility functions are not used and the client updates one of those meshes, the client should broadcast the change themselves so that important related info can be updated (for instance, so that the mode can mark those objects as modified).

code: typedef TMulticastDelegate_TwoParams< void, [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) *InputObject, const [FCanonicalModifiedInfo](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput\FCanonicalModifi-) & > FOnObjectModified


className: FCanonicalModifiedInfo

description: Information about an OnCanonicalModified broadcast. This is a struct so that we can add more information if we someday need to.

code: struct FCanonicalModifiedInfo

bAppliedMeshShapeChanged

description: It's not yet clear whether we need either of these.


description: Returns the currently configured mesh attribute buffer flags enabled on this target for updating the unwrap previews

code: virtual EMeshRenderAttributeFlags GetUnwrapUpdateAttributeFlags() const


description: Returns the currently configured mesh attribute buffer flags enabled on this target for updating the applied previews

code: virtual EMeshRenderAttributeFlags GetAppliedUpdateAttributeFlags() const


code: bool InitializeMeshes ( [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) * Target, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) > AppliedCanonicalIn, [UMeshOpPreviewWithBackgroundCompute](API\Plugins\ModelingComponents\UMeshOpPreviewWithBackgroundComp-) * AppliedPreviewIn, int32 AssetID, int32 UVLayerIndex, [UWorld](API\Runtime\Engine\Engine\UWorld) * UnwrapWorld, [UWorld](API\Runtime\Engine\Engine\UWorld) * LivePreviewWorld, [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * WorkingMaterialIn, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< FVector3d(const FVector2f &)> UVToVertPositionFuncIn, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< FVector2f(const FVector3d &)> VertPositionToUVFuncIn )


description: Returns whether or not the underlying source ToolTarget is still valid. This is separated from IsValid, which also checks the ToolTarget, in case we are interested in the status of just the ToolTarget.

code: virtual bool IsToolTargetValid() const


description: UToolTarget.

code: virtual bool IsValid() const


description: If updating the preview objects, note that the functions do not try to cancel any active computations, so an active computation could reset things once it completes. Can be passed in as a ChangedVids/ChangedElements/ChangedConnectivityTids arguments as an equivalent of passing a pointer to an empty array.

code: static const [TArray](API\Runtime\Core\Containers\TArray)< int32 > *const NONE_CHANGED_ARG = &UVEditorToolMeshInputLocals::EmptyArray;


description: Convert a vid in the unwrap mesh to the corresponding vid in the applied mesh (i.e., parent vertex of the element corresponding to the unwrap vertex).

code: int32 UnwrapVidToAppliedVid ( int32 UnwrapVid )


description: Updates the other meshes using the mesh in AppliedCanonical. Useful when switching UV layer indices or otherwise resetting the collection from the "original" data.

code: void UpdateAllFromAppliedCanonical ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedVids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FastRenderUpdateTids, bool bBroadcast )


description: Updates the other meshes using the UV overlay in the live preview.

code: void UpdateAllFromAppliedPreview ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedElementIDs, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FastRenderUpdateTids, bool bBroadcast )


description: Updates the other meshes using the mesh in UnwrapPreview. Assumes that the overlay in UnwrapPreview is updated. Used to update everything when the applied preview was not being updated in tandem with the unwrap preview (otherwise one would use UpdateCanonicalFromPreviews).

code: void UpdateAllFromUnwrapPreview ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedVids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FastRenderUpdateTids, bool bBroadcast )


description: Updates the other meshes using the mesh in UnwrapCanonical. Useful when immediately applying an operation that operates directly on the unwrap mesh.

code: void UpdateAllFromUnwrapCanonical ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedVids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FastRenderUpdateTids, bool bBroadcast )


description: Updates the AppliedPreview from UnwrapPreview, without updating the non-preview meshes. Useful for updates during a drag, etc, when we only care about updating the visible items. Assumes that the overlay in UnwrapPreview is already updated.

code: void UpdateAppliedPreviewFromUnwrapPreview ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedVids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FastRenderUpdateTids )


description: Updates the non-preview meshes from their preview counterparts. Useful, for instance, after the completion of a drag to update the canonical objects.

code: void UpdateCanonicalFromPreviews ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedVids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, bool bBroadcast )


description: Uses the stored triangles/vertices in the mesh change to update everything from the canonical unwrap. Assumes the change has already been applied to the canonical unwrap.

code: void UpdateFromCanonicalUnwrapUsingMeshChange ( const [UE::Geometry::FDynamicMeshChange](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshChange) & UnwrapCanonicalMeshChange, bool bBroadcast )


description: Updates the preview meshes from their canonical counterparts. Useful mainly as a way to reset the previews.

code: void UpdatePreviewsFromCanonical ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedVids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FastRenderUpdateTids )


description: Doesn't broadcast because it is expected that this call is followed by another call that updates the rest of the input object.

code: void UpdateUnwrapCanonicalOverlayFromPositions ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedVids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids )


description: Updates UnwrapPreview UV Overlay from UnwrapPreview vert positions. Issues a NotifyDeferredEditCompleted for both positions and UVs.

code: void UpdateUnwrapPreviewOverlayFromPositions ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedVids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FastRenderUpdateTids )


description: Updates only the UnwrapPreview from AppliedPreview, without updating the non-preview meshes. Useful for transient updates when we only care about updating the visible items.

code: void UpdateUnwrapPreviewFromAppliedPreview ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedElementIDs, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * ChangedConnectivityTids, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > * FastRenderUpdateTids )


className: UUVEditorToolMeshInput

description: It's arguable whether this should even inherit fromUToolTarget.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVEditorToolMeshInput : public [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget)

AppliedCanonical

description: Note that both UnwrapCanonical and UnwrapPreview, besides having vert positions that represent a UV layer, also have a primary UV overlay that represents the same layer, to make it possible to someday texture the unwrap.

AppliedPreview

type: TObjectPtr<UMe...

description: 3d preview of the asset with the UV layer updated, suitable for use with background ops.

bEnableTriangleVertexColors

description: When enabled, this causes the unwrap preview to recieve updates to the vertex color buffers when mesh updates occur.

OnCanonicalModified

type: FOnObjectModifi...

SourceTarget

type: TObjectPtr<UTo...

description: Additional needed information.

UnwrapCanonical

description: Mesh representing the unwrapped UV layer.

UnwrapPreview

description: Preview of the unwrapped UV layer, suitable for being manipulated by background ops.

UVToVertPosition

type: TFunction< FVec...

description: Mappings used for generating and baking back the unwrap.

WireframeDisplay

description: Optional: a wireframe to track the mesh in unwrap preview.


code: namespace UE { namespace Geometry { namespace UVEditorAnalytics { template<typename EnumType> [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) UE::Geometry::UVEditorAnalytics::AnalyticsEventAttributeEnum ( const [FString](API\Runtime\Core\Containers\FString) & AttributeName, EnumType EnumValue ) } } }


code: virtual void ConfigureTool ( [UUVEditorTransformTool](API\Plugins\UVEditorTools\UUVEditorTransformTool) * NewTool ) const


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a new Tool instance can be created

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UUVEditorBaseTransformToolBuilder

Targets

type: constTArray<T...

description: This is a pointer so that it can be updated under the builder without having to set it in the mode after initializing targets.


className: UUVEditorChannelEditAddProperties


className: UUVEditorChannelEditCopyProperties


className: UUVEditorChannelEditDeleteProperties


className: UUVEditorChannelEditSettings

Action

type: EChannelEditToo...

description: UV Layer Edit action to preform


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & GetAssetNames()


description: selected UV asset ID, or -1 if invalid selection

code: int32 GetSelectedAssetID()


description: selected UV channel index, or -1 if invalid selection, or 0 if invalid selection and bool bForceToZeroOnFailure = true

code: int32 GetSelectedChannelIndex ( bool bForceToZeroOnFailure, bool bUseReference )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & GetUVChannelNames()


code: void Initialize ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) >> & TargetsIn, bool bInitializeSelection )


code: void SetUsageFlags ( [EChannelEditToolAction](API\Plugins\UVEditorTools\EChannelEditToolAction) Action )


description:
Verify that the UV asset selection is valid
true if selection in UVAsset is an entry in UVAssetNames.

code: bool ValidateUVAssetSelection ( bool bUpdateIfInvalid )


description:
Verify that the UV channel selection is valid
true if selection in UVChannel is an entry in UVChannelNamesList.

code: bool ValidateUVChannelSelection ( bool bUpdateIfInvalid )


className: UUVEditorChannelEditTargetProperties

Asset

type: FString

NumUVChannelsPerAsset

type: TArray< int32 >

description: 1:1 with UVAssetNames

UVAssetNames

type: TArray<FString...


code: void ApplyVisbleChannelChange()


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


className: FActionHistoryItem

description: Analytics

code: struct FActionHistoryItem

FirstOperandIndex

description: If ActionType == Add then FirstOperandIndex is the index of the added UV layer if ActionType == Delete then FirstOperandIndex is the index of the deleted UV layer if ActionType == Copy then FirstOperandIndex is the index of the source UV layer

SecondOperandIndex

description: If ActionType == Add then SecondOperandIndex is unused if ActionType == Delete then SecondOperandIndex is unused if ActionType == Copy then SecondOperandIndex is the index of the target UV layer

Timestamp

type: FDateTime


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


code: void RequestAction ( [EChannelEditToolAction](API\Plugins\UVEditorTools\EChannelEditToolAction) ActionType )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


description: The tool will operate on the meshes given here.

code: virtual void SetTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) >> & TargetsIn )


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: void UpdateChannelSelectionProperties ( int32 ChangingAsset )


className: UUVEditorChannelEditTool

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVEditorChannelEditTool : public [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool)

ActionSelectionProperties

type: TObjectPtr<UUV...

AnalyticsActionHistory

type: TArray<FAction...

Targets

type: TArray<TObject...


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(CallInEditor, Category=Actions) void Apply()


code: void Initialize ( [UUVEditorChannelEditTool](API\Plugins\UVEditorTools\UUVEditorChannelEditTool) * ParentToolIn )


code: void PostAction ( [EChannelEditToolAction](API\Plugins\UVEditorTools\EChannelEditToolAction) Action )


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a new Tool instance can be created

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UUVEditorChannelEditToolBuilder

description: This is a pointer so that it can be updated under the builder without having to set it in the mode after initializing targets.


className: UUVEditorDistributeToolBuilder


code: virtual void ConfigureTool ( [UUVEditorTransformTool](API\Plugins\UVEditorTools\UUVEditorTransformTool) * NewTool ) const


code: virtual bool CanAccept() const


className: UUVEditorLayoutTool

InputTargetAnalytics

description: Analytics


className: UUVEditorLayoutToolBuilder


description: ToolManager that owns this Tool

code: virtual [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * GetToolManager() const


className: UUVEditorMechanicAdapterTool

description: This is a dummy tool that only exists to make it possible for mechanics to be used in outside of an actual tool. The tool can be passed in to the mechanics'Setup()calls. If necessary, the behaviors can be extracted viaGetInputBehaviors()to be placed into an input router.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVEditorMechanicAdapterTool : public [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool)

ToolManager

type: UInteractiveToo...


code: virtual bool HasAccept() const


code: virtual bool HasCancel() const


code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


code: void OnSelectedGroupLayerChanged()


code: virtual void OnTick ( float DeltaTime )


code: virtual void SetTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) >> & TargetsIn )


description: Allow the Tool to do any custom drawing (ie via PDI/RHI)

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: virtual void Setup()


code: virtual void Shutdown ( EToolShutdownType ShutdownType )


code: void UpdateActiveGroupLayer ( bool bUpdateFactories )


className: UUVEditorRecomputeUVsTool

description: UUVEditorRecomputeUVsToolRecomputes UVs based on existing segmentations of the mesh

InputTargetAnalytics

description: Analytics

PolygroupLayerProperties

type: TObjectPtr<UPo...

Settings

type: TObjectPtr<URe...


className: UUVEditorRecomputeUVsToolBuilder


description: Clears LockedAppliedVids, but builds seam off of AppliedVidsIn

code: void ApplySeam ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AppliedVidsIn )


description: true if the implementor of this API can currently consume an Accept action

code: virtual bool CanCurrentlyNestedAccept()


description: true if the implementor of this API can currently consume a Cancel action

code: virtual bool CanCurrentlyNestedCancel()


code: void ClearHover ( bool bClearHoverInfo )


code: void ClearLockedPath ( bool bEmitChange )


description: For use by undo/redo.

code: void EditLockedPath ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void([TArray](API\Runtime\Core\Containers\TArray)< int32 > &LockedPathInOut)> EditFunction, int32 MeshIndex )


description:
Called by Editor levels to tell the implementor (eg Tool) to execute a nested Accept action
true if the implementor consumed the Accept action


className: EState

code: enum EState { WaitingToStart, SeamInProgress, }


description:
Called by Editor levels to tell the implementor (eg Tool) to execute a nested Cancel action
true if the implementor consumed the Cancel action


code: int32 Get2DHitVertex ( const FRay & WorldRayIn, int32 * IndexOf2DSpatialOut )


code: int32 Get3DHitVertex ( const FRay & WorldRayIn, int32 * IndexOf3DSpatialOut )


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: void OnMeshVertexClicked ( int32 Vid, int32 IndexOfMesh, bool bVidIsFromUnwrap )


code: void OnMeshVertexHovered ( int32 Vid, int32 IndexOfMesh, bool bVidIsFromUnwrap )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


code: virtual void SetTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) >> & TargetsIn )


description: UInteractiveTool.

code: virtual void Setup()


code: virtual void Shutdown ( EToolShutdownType ShutdownType )


description: true if the implementor of this API may be able to consume an Accept action


description: IInteractiveToolNestedAcceptCancelAPI.


className: UUVEditorSeamTool

bClickWasInUnwrap

type: bool

bCompletionColorOverride

description: When true, the entire path is changed to the "completion" color to show that the next click will complete the path.

ClickedVid

description: Used to remember click info to apply on tick.

HoverVid

description: Used to remember hover info to apply on tick.

InputTargetAnalytics

description: Analytics

LivePreviewBehaviorSet

type: TObjectPtr<UIn...

LivePreviewBehaviorSource

type: TObjectPtr<ULo...

LivePreviewCameraState

type: FViewCameraStat...

LivePreviewGeometry

type: TObjectPtr<UPr...

LivePreviewInputRouter

type: TWeakObjectPtr<...

SeamStartAppliedVid

description: Used to know when to end the seam.

type: TArray<TShared...

State

type: EState


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a new Tool instance can be created

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UUVEditorSeamToolBuilder

Targets

type: constTArray<T...

description: These are pointers so that they can be updated under the builder without having to reset them after things are reinitialized.


className: UUVEditorSeamToolProperties

Mode

type: EUVEditorSeamMo...


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


description: Allow the Tool to do any custom screen space drawing

code: virtual void DrawHUD ( [FCanvas](API\Runtime\Engine\FCanvas) * Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: The tool will operate on the meshes given here.


code: void SetToolMode ( const [EUVEditorUVTransformType](API\Plugins\UVEditorTools\Operators\EUVEditorUVTransformType) & Mode )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called


code: virtual void ConfigureTool ( [UUVEditorTransformTool](API\Plugins\UVEditorTools\UUVEditorTransformTool) * NewTool ) const


className: UUVEditorTransformTool

InputTargetAnalytics

description: Analytics

PerTargetPivotLocations

type: TArray<TArray<...

ToolMode

type: TOptional<EUVE...

ToolStartTimeAnalytics

type: FDateTime


className: UUVEditorTransformToolBuilder


className: UUVEditorTransformToolDisplayProperties

description: Visualization settings for the TransformTool

bDrawPivots

description: Draw the tool's active pivot location if needed.


description: Updates previews based off of the current gizmo transform, CurrentSelections, MovingVidsPerSelection, and MovingVertOriginalPositions. Gets emitted while dragging the gizmo on tick.

code: virtual void ApplyGizmoTransform()


description: true if the implementor of this API can currently consume a Cancel action

code: virtual bool CanCurrentlyNestedCancel()


description:
Called by Editor levels to tell the implementor (eg Tool) to execute a nested Cancel action
true if the implementor consumed the Cancel action


description: Callbacks we'll receive from the gizmo proxy.

code: virtual void GizmoTransformChanged ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * Proxy, FTransform Transform )


description: Used by undo/redo.

code: FTransform GetGizmoTransform() const


code: virtual void GizmoTransformEnded ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * Proxy )


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


code: virtual void GizmoTransformStarted ( [UTransformProxy](API\Runtime\InteractiveToolsFramework\BaseGizmos\UTransformProxy) * Proxy )


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: virtual void OnSelectionChanged ( bool bEmitChangeAllowed, uint32 SelectionChangeType )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


description: Allow the Tool to do any custom drawing (ie via PDI/RHI)

code: virtual void Render ( [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) * RenderAPI )


code: void SetGizmoTransform ( const FTransform & NewTransform )


code: virtual void SetTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) >> & TargetsIn )


description: UInteractiveTool.

code: virtual void Setup()


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


description: IInteractiveToolNestedAcceptCancelAPI.


className: UUVSelectTool

description: The tool in the UV editor that secretly runs when other tools are not running. It uses the selection api to allow the user to select elements, and has a gizmo that can be used to transform these elements.

EmitChangeAPI

type: TObjectPtr<UUV...

MovingVidsPerSelection

description: Inner arrays for these two are 1:1 with each other.

RenderUpdateTidsPerSelection

description: The outer arrays are 1:1 with the Selections array obtained from the Selection API.

Targets

type: TArray<TObject...

TransformGizmo

type: TObjectPtr<UCo...

UnappliedGizmoTransform

type: FTransform


code: virtual void UpdateGizmo ( bool bForceRecomputeSelectionCenters )


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a new Tool instance can be created

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UUVSelectToolBuilder

Targets

description: This is a pointer so that it can be updated under the builder without having to set it in the mode after initializing targets.


description: Called when details should be customized

module: UVEditorToolsEditorOnly

code: virtual void CustomizeDetails ( [IDetailLayoutBuilder](API\Editor\PropertyEditor\IDetailLayoutBuilder) & DetailBuilder )


code: [EUVEditorSeamMode](API\Plugins\UVEditorTools\EUVEditorSeamMode) GetCurrentMode ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > PropertyHandle ) const


code: static [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization) > MakeInstance()


code: void OnCurrentModeChanged ( [EUVEditorSeamMode](API\Plugins\UVEditorTools\EUVEditorSeamMode) Mode, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPropertyHandle](API\Editor\PropertyEditor\IPropertyHandle) > PropertyHandle )


className: FUVEditorSeamToolPropertiesDetails

description: Customization forUUVEditorSeamToolProperties.

code: class FUVEditorSeamToolPropertiesDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)


code: void BuildAlignModeButtons ( [IDetailLayoutBuilder](API\Editor\PropertyEditor\IDetailLayoutBuilder) & DetailBuilder )


className: FUVEditorUVAlignToolDetails

description: Customization forUUVEditorUVAlignProperties.

code: class FUVEditorUVAlignToolDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)

AlignDirectionHandle

type: TSharedPtr<IPr...


code: void BuildDistributeModeButtons ( [IDetailLayoutBuilder](API\Editor\PropertyEditor\IDetailLayoutBuilder) & DetailBuilder )


className: FUVEditorUVDistributeToolDetails

description: Customization forUUVEditorUVDistributeProperties.

code: class FUVEditorUVDistributeToolDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)


className: FUVEditorUVQuickTransformToolDetails

description: Customization forUUVEditorUVQuickTransformProperties.


code: void BuildQuickRotateMenu ( [IDetailLayoutBuilder](API\Editor\PropertyEditor\IDetailLayoutBuilder) & DetailBuilder )


code: void BuildQuickTranslateMenu ( [IDetailLayoutBuilder](API\Editor\PropertyEditor\IDetailLayoutBuilder) & DetailBuilder )


className: FUVEditorUVTransformToolDetails

description: Customization forUUVEditorUVTransformProperties.

code: class FUVEditorUVTransformToolDetails : public [IDetailCustomization](API\Editor\PropertyEditor\IDetailCustomization)


description: Called before the module is unloaded, right before the module object is destroyed. During normal shutdown, this is called in reverse order that modules finishStartupModule(). This means that, as long as a module references dependent modules in it'sStartupModule(), it can safely reference those dependencies inShutdownModule()as well.

code: virtual void ShutdownModule()


code: void OnPostEngineInit()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FUVEditorToolsEditorOnlyModule

code: class FUVEditorToolsEditorOnlyModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)

ClassesToUnregisterOnShutdown

type: TArray<FName>


description: true if this Tool is currently in a state where it can be Accepted. This may be false if for example there was an error in the Tool.

code: virtual bool CanAccept() const


description: true if this Tool support being Accepted, ie calling Shutdown(EToolShutdownType::Accept)

code: virtual bool HasAccept() const


description: true if this Tool support being Cancelled, ie calling Shutdown(EToolShutdownType::Cancel)

code: virtual bool HasCancel() const


code: void OnMethodTypeChanged()


description: Automatically called byUInteractiveToolPropertySet.OnModifieddelegate to notify Tool of child property set changes

code: virtual void OnPropertyModified ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * PropertySet, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Property )


description: Allow the Tool to do any necessary processing on Tick

code: virtual void OnTick ( float DeltaTime )


code: void RecordAnalytics()


description: The tool will operate on the meshes given here.

code: virtual void SetTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) >> & TargetsIn )


description: Called by ToolManager to initialize the ToolafterToolBuilder::BuildTool() has been called

code: virtual void Setup()


description: Called by ToolManager to shut down the Tool

code: virtual void Shutdown ( EToolShutdownType ShutdownType )


className: UUVEditorParameterizeMeshTool

description: UParameterizeMeshToolautomatically decomposes the input mesh into charts, solves for UVs, and then packs the resulting charts

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVEditorParameterizeMeshTool : public [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool)

InputTargetAnalytics

description: Analytics

PatchBuilderProperties

type: TObjectPtr<UPa...

PolygroupLayerProperties

type: TObjectPtr<UPo...


description:
Create a new instance of this builder's Tool
a new instance of the Tool, or nullptr on error/failure

code: virtual [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * BuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


description:
Check if, given the current scene state, a new instance of this builder's Tool can be created
true if a new Tool instance can be created

code: virtual bool CanBuildTool ( const [FToolBuilderState](API\Runtime\InteractiveToolsFramework\FToolBuilderState) & SceneState ) const


className: UUVEditorParameterizeMeshToolBuilder

Targets

description: This is a pointer so that it can be updated under the builder without having to set it in the mode after initializing targets.


module: VariantManager

code: FCapturableProperty ( const [FString](API\Runtime\Core\Containers\FString) & InDisplayName, const [FPropertyPath](API\Editor\PropertyEditor\FPropertyPath) & InPropPath, const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & InComponentNames, bool InChecked, [FName](API\Runtime\Core\UObject\FName) InPropertySetterName, [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) InCaptureType )


className: FCapturableProperty

description: Describes a property path that can be captured. It just exposes a display name but uses internal data in order to be able to capture exception properties, like materials

CaptureType

type: EPropertyValueC...

Checked

type: bool

ComponentNames

type: TArray<FString...

DisplayName

type: FString

Prop

type: FPropertyPath

PropertySetterName

type: FName


code: void AddObjectBindings ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & TheseBindings, [UVariant](API\Plugins\VariantManagerContent\UVariant) * ToThisVariant, int32 InsertionIndex, bool bReplaceOld )


description: Adds existing items to existing containers.

code: void AddPropertyCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > & OfThisProperty, [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * ToThisBinding )


description: Pure virtual that must be overloaded by the inheriting class. Use this method to serialize any UObjects contained that you wish to keep around.

code: virtual void AddReferencedObjects ( [FReferenceCollector](API\Runtime\CoreUObject\UObject\FReferenceCollector) & Collector )


code: void AddVariants ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > & TheseVariants, [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * ToThisVariantSet, int32 InsertionIndex )


code: void AddVariantSets ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * > & TheseVariantSets, [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * ToThisLevelVarSets, int32 InsertionIndex )


code: void ApplyProperty ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Prop ) const


description: Function handling.

code: void CallDirectorFunction ( [FName](API\Runtime\Core\UObject\FName) FunctionName, [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * TargetObject ) const


description: Returns which actors we can add to an existingUVariant, since we only allow one per actor per variant We can force add/replace with AddObjectBindings, but this allows us to check how many will be added, which is used for tooltips and feedback

code: void CanAddActorsToVariant ( const [TArray](API\Runtime\Core\Containers\TArray)< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) >> & InActors, const [UVariant](API\Plugins\VariantManagerContent\UVariant) * InVariant, [TArray](API\Runtime\Core\Containers\TArray)< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [AActor](API\Runtime\Engine\GameFramework\AActor) >> & OutActorsWeCanAdd )


code: void CanAddActorsToVariant ( const [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & InActors, const [UVariant](API\Plugins\VariantManagerContent\UVariant) * InVariant, [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & OutActorsWeCanAdd )


code: void CaptureNewProperties ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & Bindings )


code: void CopyVariantThumbnails ( [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > DstArray, const [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > SrcArray )


code: [UK2Node_FunctionEntry](API\Editor\BlueprintGraph\UK2Node_FunctionEntry) * CreateDirectorFunctionFromFunction ( [UFunction](API\Runtime\CoreUObject\UObject\UFunction) * QuickBindFunction, [UClass](API\Runtime\CoreUObject\UObject\UClass) * PinClassType )


code: [UK2Node_FunctionEntry](API\Editor\BlueprintGraph\UK2Node_FunctionEntry) * CreateDirectorFunction ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * InLevelVariantSets, [FName](API\Runtime\Core\UObject\FName) InFunctionName, [UClass](API\Runtime\CoreUObject\UObject\UClass) * PinClassType )


code: void CreateFunctionCaller ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & Bindings )


code: [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > CreateLocationPropertyCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & InTheseBindings )


code: [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > CreateMaterialPropertyCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & InTheseBindings )


code: [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > CreateObjectBindingsAndCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & OfTheseActors, const [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > & InTheseVariants, int32 InsertionIndex )


description: Creates new items and add them to existing containers.

code: [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > CreatePropertyCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCapturableProperty](API\Plugins\VariantManager\FCapturableProperty) >> & OfTheseProperties, const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & InTheseBindings, bool bSilenceWarnings )


code: [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > CreateRotationPropertyCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & InTheseBindings )


code: [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > CreateScale3DPropertyCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & InTheseBindings )


code: [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > CreateTransformPropertyCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & InTheseBindings )


code: [UVariant](API\Plugins\VariantManagerContent\UVariant) * CreateVariant ( [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * InThisVariantSet )


code: [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * CreateVariantSet ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * InThisLevelVariantSets )


code: [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > CreateVisibilityPropertyCaptures ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & InTheseBindings )


description: Duplicate existing items to existing containers.

code: void DuplicateObjectBindings ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & TheseBindings, [UVariant](API\Plugins\VariantManagerContent\UVariant) * ToThisVariant, int32 InsertionIndex )


code: void DuplicateVariants ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > & TheseVariants, [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * ToThisVariantSet, int32 InsertionIndex )


code: void DuplicateVariantSets ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * > & TheseVariantSets, [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * ToThisLevelVarSets, int32 InsertionIndex )


code: void GetCapturableProperties ( const [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > & Actors, [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCapturableProperty](API\Plugins\VariantManager\FCapturableProperty) >> & OutProperties, [FString](API\Runtime\Core\Containers\FString) TargetPropertyPath, bool bCaptureAllArrayIndices )


code: void GetCapturableProperties ( const [TArray](API\Runtime\Core\Containers\TArray)< [UClass](API\Runtime\CoreUObject\UObject\UClass) * > & Classes, [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FCapturableProperty](API\Plugins\VariantManager\FCapturableProperty) >> & OutProperties, [FString](API\Runtime\Core\Containers\FString) TargetPropertyPath, bool bCaptureAllArrayIndices )


description: Gets the tree of nodes which is used to populate the animation outliner.

code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< FVariantManagerNodeTree > GetNodeTree()


description: Sets up the blueprint class deriving from the function director that we'll use. Do this here as it uses editor-only code

code: [UBlueprint](API\Runtime\Engine\Engine\UBlueprint) * GetOrCreateDirectorBlueprint ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * InLevelVariantSets )


description: Overload this method to report a name for your referencer

code: virtual [FString](API\Runtime\Core\Containers\FString) GetReferencerName() const


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< SVariantManager > GetVariantManagerWidget()


description: Thumbnail operations Returns one for each variant. These can be nullptr

code: [TArray](API\Runtime\Core\Containers\TArray)< [FObjectThumbnail](API\Runtime\Core\Misc\FObjectThumbnail) * > GetVariantThumbnails ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > SrcArray )


code: void InitVariantManager ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * InLevelVariantSets )


description: Adds all children from one container to the other container, if it doesn't already have them.

code: void MergeObjectBindings ( const [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * ThisBinding, [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * IntoThisBinding )


code: void MergeVariants ( const [UVariant](API\Plugins\VariantManagerContent\UVariant) * ThisVar, [UVariant](API\Plugins\VariantManagerContent\UVariant) * IntoThisVar )


description: Remove existing items from their parents and add them to existing containers.

code: void MoveObjectBindings ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & TheseBindings, [UVariant](API\Plugins\VariantManagerContent\UVariant) * ToThisVariant )


code: void MoveVariants ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > & TheseVariants, [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * ToThisVariantSet, int32 InsertionIndex )


description: Signal that client should run any PostRedo code

code: virtual void PostRedo ( bool bSuccess )


description: Captured property handling.

code: void RecordProperty ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Prop ) const


code: void RemoveFunctionCallers ( const [TArray](API\Runtime\Core\Containers\TArray)< [FFunctionCaller](API\Plugins\VariantManagerContent\FFunctionCaller) * > & TheseCallers, [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * FromThisBinding )


description: Removes existing items from existing containers.

code: void RemovePropertyCapturesFromParent ( const [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > & ThisProp )


code: void RemoveObjectBindingsFromParent ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantObjectBinding](API\Plugins\VariantManagerContent\UVariantObjectBinding) * > & ThisBinding )


code: void RemoveVariantSetsFromParent ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * > & ThisVariantSet )


code: void MoveVariantSets ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * > & TheseVariantSets, [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * ToThisLevelVariantSets, int32 InsertionIndex )


description: Signal that client should run any PostUndo code

code: virtual void PostUndo ( bool bSuccess )


description: Expects one for each variant. Accepts nullptr (will clear any previous thumbnail when setting)

code: void SetVariantThumbnails ( const [TArray](API\Runtime\Core\Containers\TArray)< [FObjectThumbnail](API\Runtime\Core\Misc\FObjectThumbnail) * > Thumbnails, const [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > Variants )


code: void RemoveVariantsFromParent ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariant](API\Plugins\VariantManagerContent\UVariant) * > & ThisVariant )


className: FVariantManager

code: class FVariantManager : public [FGCObject](API\Runtime\CoreUObject\UObject\FGCObject), public [FEditorUndoClient](API\Editor\UnrealEd\FEditorUndoClient), public [TSharedFromThis< FVariantManager >](API\Runtime\Core\Templates\TSharedFromThis)


code: static [IVariantManagerModule](API\Plugins\VariantManager\IVariantManagerModule) & Get()


className: IVariantManagerModule

code: class IVariantManagerModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


description: Binds the Actor to the Variant, internally creating a VariantObjectBinding.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void AddActorBinding ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static int32 AddDependency ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, [FVariantDependency](API\Plugins\VariantManagerContent\FVariantDependency) & Dependency )


description: Adds Variant to the VariantSet's list of Variants.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void AddVariant ( [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * VariantSet, [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant )


description: Adds VariantSet to the LevelVariantSets' list of VariantSets.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void AddVariantSet ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * LevelVariantSets, [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * VariantSet )


description: Finds the actor binding to Actor within Variant and tries capturing a property with PropertyPath Returns the capturedUPropertyValueif succeeded or nullptr if it failed.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * CaptureProperty ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, [FString](API\Runtime\Core\Containers\FString) PropertyPath )


description: Applies the recorded data from PropVal to the actor from which it was captured.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void Apply ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * PropVal )


description: Creates a new LevelVariantSetsAsset named AssetName (e.g. 'MyLevelVariantSets') in the content path AssetPath (e.g. '/Game')

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="VariantManager") static [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * CreateLevelVariantSetsAsset ( const [FString](API\Runtime\Core\Containers\FString) & AssetName, const [FString](API\Runtime\Core\Containers\FString) & AssetPath )


description: Creates a newALevelVariantSetsActorin the current scene and assigns LevelVariantSetsAsset to it.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="VariantManager") static [ALevelVariantSetsActor](API\Plugins\VariantManagerContent\ALevelVariantSetsActor) * CreateLevelVariantSetsActor ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * LevelVariantSetsAsset )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void DeleteDependency ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, int32 Index )


description: Returns a property path for all the properties we can capture for an actor. Will also handle receiving the actor's class instead.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="VariantManager") static [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > GetCapturableProperties ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * ActorOrClass )


description: Returns which properties have been captured for this actor in Variant.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static [TArray](API\Runtime\Core\Containers\TArray)< [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * > GetCapturedProperties ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


description: This allows the scripting language to get the type of the C++ property its dealing with.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static [FString](API\Runtime\Core\Containers\FString) GetPropertyTypeString ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * PropVal )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static bool GetValueBool ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static [FColor](API\Runtime\Core\Math\FColor) GetValueColor ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static float GetValueFloat ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static int32 GetValueInt ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static FIntPoint GetValueIntPoint ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetValueLinearColor ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetValueObject ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static FQuat GetValueQuat ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static FRotator GetValueRotator ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static [FString](API\Runtime\Core\Containers\FString) GetValueString ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static FVector GetValueVector ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static FVector2D GetValueVector2D ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


description: Records new data for PropVal from the actor from which it was captured.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void Record ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * PropVal )


description: Looks for an actor binding to an actor with ActorLabel within Variant and removes it, if it exists.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void RemoveActorBindingByName ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, const [FString](API\Runtime\Core\Containers\FString) & ActorName )


description: Removes an actor binding to Actor from Variant, if it exists.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void RemoveActorBinding ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor )


description: Removes property capture with PropertyPath from Actor's binding within Variant, if it exists.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void RemoveCapturedPropertyByName ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, [FString](API\Runtime\Core\Containers\FString) PropertyPath )


description: Removes a property capture from an actor binding within Variant, if it exists.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void RemoveCapturedProperty ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property )


description: Removes Variant from VariantSet, if that is its parent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void RemoveVariant ( [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * VariantSet, [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant )


description: Looks for a variant with VariantName within VariantSet and removes it, if it exists.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void RemoveVariantByName ( [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * VariantSet, const [FString](API\Runtime\Core\Containers\FString) & VariantName )


description: Looks for a variant set with VariantSetName within LevelVariantSets and removes it, if it exists.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void RemoveVariantSetByName ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * LevelVariantSets, const [FString](API\Runtime\Core\Containers\FString) & VariantSetName )


description: Removes VariantSet from LevelVariantSets, if that is its parent.

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void RemoveVariantSet ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * LevelVariantSets, [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * VariantSet )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager") static void SetDependency ( [UVariant](API\Plugins\VariantManagerContent\UVariant) * Variant, int32 Index, [FVariantDependency](API\Plugins\VariantManagerContent\FVariantDependency) & Dependency )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueColor ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, [FColor](API\Runtime\Core\Math\FColor) InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueBool ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, bool InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueFloat ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, float InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueLinearColor ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, [FLinearColor](API\Runtime\Core\Math\FLinearColor) InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueIntPoint ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, FIntPoint InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueQuat ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, FQuat InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueRotator ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, FRotator InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueString ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, const [FString](API\Runtime\Core\Containers\FString) & InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueVector ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, FVector InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueVector2D ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, FVector2D InValue )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Meta=(ScriptMethod), Category="VariantManager|PropertyAccessors") static void SetValueVector4 ( [UPropertyValue](API\Plugins\VariantManagerContent\UPropertyValue) * Property, FVector4 InValue )


className: VariantManager

code: static [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FVariantManager](API\Plugins\VariantManager\FVariantManager) > VariantManager;


code: UVariantManagerBlueprintLibrary ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: UVariantManagerBlueprintLibrary

description: Library of functions that can be used by the Python API to trigger VariantManager operations


description: Non-const so that it doesn't show as pure in blueprints, since it might trigger a load

module: VariantManagerContent

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LevelVariantSets", Meta=(ToolTip="Returns the LevelVariantSets asset, optionally loading it if necessary")) [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * GetLevelVariantSets ( bool bLoad )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LevelVariantSets") void SetLevelVariantSets ( [ULevelVariantSets](API\Plugins\VariantManagerContent\ULevelVariantSets) * InVariantSets )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LevelVariantSets") bool SwitchOnVariantByIndex ( int32 VariantSetIndex, int32 VariantIndex )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="LevelVariantSets") bool SwitchOnVariantByName ( [FString](API\Runtime\Core\Containers\FString) VariantSetName, [FString](API\Runtime\Core\Containers\FString) VariantName )


code: ALevelVariantSetsActor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & Init )


className: ALevelVariantSetsActor

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(HideCategories=(Rendering, Physics, HLOD, Activation, Input, Actor, Cooking)) class ALevelVariantSetsActor : public [AActor](API\Runtime\Engine\GameFramework\AActor)

LevelVariantSets

type: FSoftObjectPath


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, CallInEditor, Category="SwitchActor", Meta=(ToolTip="Returns the child actors that are available options, in a fixed order that may differ from the one displayed in the world outliner")) [TArray](API\Runtime\Core\Containers\TArray)< [AActor](API\Runtime\Engine\GameFramework\AActor) * > GetOptions() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, CallInEditor, Category="SwitchActor", Meta=(ToolTip="If we have exactly one child actor visible, it will return a pointer to it. Returns nullptr otherwise")) int32 GetSelectedOption() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, CallInEditor, Category="SwitchActor", Meta=(ToolTip="Select one of the available options by index")) void SelectOption ( int32 OptionIndex )


code: ASwitchActor ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & Init )


className: ASwitchActor

description: Switch Actor allows quickly toggling the visibility of its child actors so that only one is visible at a time. It can also be captured with the Variant Manager to expose this capability as a property capture

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class ASwitchActor : public [AActor](API\Runtime\Engine\GameFramework\AActor)


className: EPropertyValueCategory

code: enum EPropertyValueCategory { Undefined = 0, Generic = 1, RelativeLocation = 2, RelativeRotation = 4, RelativeScale3D = 8, Visibility = 16, Material = 32, Color = 64, Option = 128, }


className: FCapturedPropSegment

description: Describes one link in a full property path For array properties, a link might be the outer (e.g. AttachChildren, -1, None) while also it may be an inner (e.g. AttachChildren, 2, Cube) Doing this allows us to resolve components regardless of their order, which is important for handling component reordering and transient components (e.g. runtime billboard components, etc)


description: Cache the function name to call from the blueprint function entry node. Will only cache the function if it has a valid signature.

code: void CacheFunctionName()


description: Get the order with which the VariantManager should display this in a property list. Lower values will be shown higher up

code: uint32 GetDisplayOrder() const


description: IsValidFunction

code: [UK2Node_FunctionEntry](API\Editor\BlueprintGraph\UK2Node_FunctionEntry) * GetFunctionEntry() const


description:
Check whether this event is bound to a valid blueprint entry node
true if this event is bound to a function entry node with a valid signature, false otherwise.

code: bool IsBoundToBlueprint() const


description:
Helper function to determine whether the specified function entry is valid for this event
true if the function entry node is compatible with a moviescene event, false otherwise

code: static bool IsValidFunction ( [UK2Node_FunctionEntry](API\Editor\BlueprintGraph\UK2Node_FunctionEntry) * Node )


description: Called after this event has been serialized in order to cache the function pointer if necessary

code: void PostSerialize ( const [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


description: Set the order with which the VariantManager should display this in a property list. Lower values will be shown higher up

code: void SetDisplayOrder ( uint32 InDisplayOrder )


description: Set the function entry that this event should trigger

code: void SetFunctionEntry ( [UK2Node_FunctionEntry](API\Editor\BlueprintGraph\UK2Node_FunctionEntry) * Entry )


className: FFunctionCaller

FunctionName

description: The function that should be called to invoke this event.


className: FOnPropertyApplied

code: typedef TMulticastDelegate_NoParams< void > FOnPropertyApplied


className: FOnPropertyRecorded

code: typedef TMulticastDelegate_NoParams< void > FOnPropertyRecorded


className: FVariantDependency

Variant

type: TSoftObjectPtr<...


code: static [IVariantManagerContentModule](API\Plugins\VariantManagerContent\IVariantManagerContentModule) & Get()


code: static bool IsAvailable()


className: IVariantManagerContentModule

code: class IVariantManagerContentModule : public [IModuleInterface](API\Runtime\Core\Modules\IModuleInterface)


className: OnDirectorDestroyed

code: typedef TMulticastDelegate_OneParam< void, [ULevelVariantSetsFunctionDirector](API\Plugins\VariantManagerContent\ULevelVariantSetsFunctionDirecto-) * > OnDirectorDestroyed


className: operator&

code: constexpr [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) operator& ( [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) Lhs, [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) Rhs )


className: FOnSwitchActorSwitch

code: typedef TMulticastDelegate_OneParam< void, int32 > FOnSwitchActorSwitch


className: operator~

code: constexpr [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) operator~ ( [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) E )


className: operator&=

code: [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) & operator&= ( [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) & Lhs, [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) Rhs )


className: operator^

code: constexpr [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) operator^ ( [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) Lhs, [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) Rhs )


className: operator!

code: constexpr bool operator! ( [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) E )


className: operator^=

code: [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) & operator^= ( [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) & Lhs, [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) Rhs )


code: namespace ThumbnailGenerator { [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * ThumbnailGenerator::GenerateThumbnailFromTexture ( [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * InImage ) }


code: namespace ThumbnailGenerator { [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * ThumbnailGenerator::GenerateThumbnailFromEditorViewport() }


code: namespace ThumbnailGenerator { [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * ThumbnailGenerator::GenerateThumbnailFromFile ( [FString](API\Runtime\Core\Containers\FString) FilePath ) }


code: namespace ThumbnailGenerator { [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * ThumbnailGenerator::GenerateThumbnailFromObjectThumbnail ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object ) }


className: WithPostSerialize

code: enum &123; WithPostSerialize = true &125;


code: namespace ThumbnailGenerator { [UTexture2D](API\Runtime\Engine\Engine\UTexture2D) * ThumbnailGenerator::GenerateThumbnailFromCamera ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContextObject, const FTransform & CameraTransform, float FOVDegrees, float MinZ, float Gamma ) }


code: void AddVariantSets ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * > & NewVariantSets, int32 Index )


className: TStructOpsTypeTraits< FFunctionCaller >

code: template<> struct TStructOpsTypeTraits< FFunctionCaller > : public [TStructOpsTypeTraitsBase2< FFunctionCaller >](API\Runtime\CoreUObject\UObject\TStructOpsTypeTraitsBase2)


description: Return an existing or create a new director instance for the world that WorldContext is in.

code: [UObject](API\Runtime\CoreUObject\UObject\UObject) * GetDirectorInstance ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * WorldContext )


code: [FString](API\Runtime\Core\Containers\FString) GetUniqueVariantSetName ( const [FString](API\Runtime\Core\Containers\FString) & Prefix )


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="LevelVariantSets") [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * GetVariantSet ( int32 VariantSetIndex )


code: int32 GetVariantSetIndex ( [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * VarSet )


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * > & GetVariantSets() const


code: void OnDirectorBlueprintRecompiled ( [UBlueprint](API\Runtime\Engine\Engine\UBlueprint) * InBP )


code: void RemoveVariantSets ( const [TArray](API\Runtime\Core\Containers\TArray)< [UVariantSet](API\Plugins\VariantManagerContent\UVariantSet) * > InVariantSets )


code: void ResetWorldContext()


description: Handles reading, writing, and reference collecting usingFArchive. This implementation handles allFPropertyserialization, but can be overridden for native variables.

code: virtual void Serialize ( [FArchive](API\Runtime\Core\Serialization\FArchive) & Ar )


code: ULevelVariantSets ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjectInitializer )


className: ULevelVariantSets

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(BlueprintType) class ULevelVariantSets : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


code: virtual [UWorld](API\Runtime\Engine\Engine\UWorld) * GetWorld() const


className: ULevelVariantSetsFunctionDirector

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Blueprintable) class ULevelVariantSetsFunctionDirector : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

OnDestroy

type: OnDirectorDestr...

description: Called from our destructor Mainly used by levelvariantsets to keep track of when a director becomes invalid and we need to create a new one for that world


description: Applies our recorded data to the PropertyValuePtr for the resolved object.


description: Applies the recorded data to the TargetObject via the PropertySetter function (e.g. SetIntensity instead of setting the Intensity UPROPERTY directly)

code: virtual void ApplyViaFunctionSetter ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * TargetObject )


code: void ClearDefaultValue()


code: virtual bool ContainsProperty ( const [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * Prop ) const


description: Returns an array of link segments that together describe the full property path.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FCapturedPropSegment](API\Plugins\VariantManagerContent\FCapturedPropSegment) > & GetCapturedPropSegments() const


description: Fetches the value bytes for this property from the resolved object.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< uint8 > GetDataFromResolvedObject() const


code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & GetDefaultValue()


code: uint32 GetDisplayOrder() const


code: [UEnum](API\Runtime\CoreUObject\UObject\UEnum) * GetEnumPropertyEnum() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PropertyValue") const [FString](API\Runtime\Core\Containers\FString) & GetFullDisplayString() const


description: Utility functions for string properties.

code: const [FName](API\Runtime\Core\UObject\FName) & GetNamePropertyName() const


description: Returns the type ofFProperty(FObjectProperty,FFloatProperty, etc) If checking for Enums, prefer checking ifGetEnumPropertyEnum()!= nullptr, as it may be that we received aFNumericPropertythat actually represents an enum, which wouldn't be reflected here

code: virtual [FFieldClass](API\Runtime\CoreUObject\UObject\FFieldClass) * GetPropertyClass() const


code: [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * GetProperty() const


code: int32 GetPropertyOffsetInBytes() const


code: void * GetPropertyParentContainerAddress() const


code: virtual [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * GetPropertyParentContainerClass() const


description: Combined hash of this property and its indices We don't use GetTypeHash for this because almost always we want to hash UPropertyValues by the pointer instead, for complete uniqueness even with the same propertypath This is mostly just used for grouping UPropertyValues together for editing multiple at once

code: uint32 GetPropertyPathHash()


code: const [TArray](API\Runtime\Core\Containers\TArray)< uint8 > & GetRecordedData()


description: Used RecordedData as an enum value and gets the corresponding index for our Enum.

code: int32 GetRecordedDataAsEnumIndex()


code: const [FString](API\Runtime\Core\Containers\FString) & GetStrPropertyString() const


code: virtual [UScriptStruct](API\Runtime\CoreUObject\UObject\UScriptStruct) * GetStructPropertyStruct() const


code: const [FText](API\Runtime\Core\Internationalization\FText) & GetTextPropertyText() const


description: Utility functions for UEnumProperties.


code: virtual int32 GetValueSizeInBytes() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="PropertyValue") bool HasRecordedData() const


code: void Init ( const [TArray](API\Runtime\Core\Containers\TArray)< [FCapturedPropSegment](API\Plugins\VariantManagerContent\FCapturedPropSegment) > & InCapturedPropSegments, [FFieldClass](API\Runtime\CoreUObject\UObject\FFieldClass) * InLeafPropertyClass, const [FString](API\Runtime\Core\Containers\FString) & InFullDisplayString, const [FName](API\Runtime\Core\UObject\FName) & InPropertySetterName, [EPropertyValueCategory](API\Plugins\VariantManagerContent\EPropertyValueCategory) InCategory )


code: bool IsNumericPropertyFloatingPoint()


code: bool IsNumericPropertySigned()


code: bool IsNumericPropertyUnsigned()


description: Returns true if our recorded data would remain the same if we called RecordDataFromResolvedObject right now

code: virtual bool IsRecordedDataCurrent()


code: void OnPIEEnded ( const bool bIsSimulatingInEditor )


description: Uses GetDataFromResolvedObject to update our recorded data.


description: Tries to resolve the property value on the passed object, or the parent binding's bound object if the argument is nullptr.

code: virtual bool Resolve ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * OnObject )


code: bool ResolvePropertiesRecursive ( [UStruct](API\Runtime\CoreUObject\UObject\UStruct) * ContainerClass, void * ContainerAddress, int32 PropertyIndex )