className: EDistortionMetric

module: UVEditor

code: enum EDistortionMetric { ReedBeta, Sander_L2, Sander_LInf, TexelDensity, }


description: Types of camera motion for the UV Editor 3D viewport.

code: enum EUVEditor3DViewportClientCameraMode { Orbit, Fly, }


className: EUVEditorModeActions

code: enum EUVEditorModeActions { NoAction, ConfigureUDIMsFromAsset, ConfigureUDIMsFromTexture, }


className: EUVEditorBackgroundSourceType

description: Enum to control the background visualiztion mode

code: enum EUVEditorBackgroundSourceType { Checkerboard, Texture, Material, }


description: FGCObject.

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


code: bool AreSelectionButtonsEnabled() const


code: bool AreWidgetButtonsEnabled() const


description: Whether or not the new widget mode can be set in this viewport

code: virtual bool CanSetWidgetMode ( [UE::Widget::EWidgetMode](API\Editor\EditorFramework\UE__Widget__EWidgetMode) NewMode ) const


description: FViewElementDrawerinterface

code: virtual void Draw ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI )


description: Called to draw onto the viewports 2D canvas

code: virtual void DrawCanvas ( [FViewport](API\Runtime\Engine\FViewport) & InViewport, [FSceneView](API\Runtime\Engine\FSceneView) & View, [FCanvas](API\Runtime\Engine\FCanvas) & Canvas )


code: void DrawGrid ( const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI )


code: void DrawGridRulers ( [FViewport](API\Runtime\Engine\FViewport) & InViewport, [FSceneView](API\Runtime\Engine\FSceneView) & View, [UCanvas](API\Runtime\Engine\Engine\UCanvas) & Canvas )


code: void DrawUDIMLabels ( [FViewport](API\Runtime\Engine\FViewport) & InViewport, [FSceneView](API\Runtime\Engine\FSceneView) & View, [UCanvas](API\Runtime\Engine\Engine\UCanvas) & Canvas )


code: bool GetLocationGridSnapEnabled()


description: IInputBehaviorSource.

code: virtual const [UInputBehaviorSet](API\Runtime\InteractiveToolsFramework\UInputBehaviorSet) * GetInputBehaviors() const


code: float GetLocationGridSnapValue()


code: bool GetRotationGridSnapEnabled()


code: float GetRotationGridSnapValue()


description: The current display mode for transform widget

code: virtual [UE::Widget::EWidgetMode](API\Editor\EditorFramework\UE__Widget__EWidgetMode) GetWidgetMode() const


description: FEditorViewportClient.

code: virtual bool InputKey ( const [FInputKeyEventArgs](API\Runtime\Engine\FInputKeyEventArgs) & EventArgs )


code: void SetLocationGridSnapEnabled ( bool bEnabled )


code: void SetLocationGridSnapValue ( float SnapValue )


code: void SetRotationGridSnapEnabled ( bool bEnabled )


code: void SetRotationGridSnapValue ( float SnapValue )


code: void SetScaleGridSnapValue ( float SnapValue )


code: void SetScaleGridSnapEnabled ( bool bEnabled )


description: Whether or not to orbit the camera

code: virtual bool ShouldOrbitCamera() const


code: void SetSelectionMode ( [UUVToolViewportButtonsAPI::ESelectionMode](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\EUVEditorSelectionMode) NewMode )


code: FUVEditor2DViewportClient ( [FEditorModeTools](API\Editor\UnrealEd\FEditorModeTools) * InModeTools, [FPreviewScene](API\Runtime\Engine\FPreviewScene) * InPreviewScene, const [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [SEditorViewport](API\Editor\UnrealEd\SEditorViewport) > & InEditorViewportWidget, [UUVToolViewportButtonsAPI](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI) * ViewportButtonsAPI, [UUVTool2DViewportAPI](API\Plugins\UVEditorTools\ContextObjects\UUVTool2DViewportAPI) * UVTool2DViewportAPI )


code: virtual ~FUVEditor2DViewportClient()


description: Client used to display a 2D view of the UV's, implemented by using a perspective viewport with a locked camera.

code: class FUVEditor2DViewportClient : public [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient), public [IInputBehaviorSource](API\Runtime\InteractiveToolsFramework\IInputBehaviorSource)

bDrawGrid

type: bool

BehaviorSet

type: TObjectPtr<UIn...

description: These get added in AddReferencedObjects for memory management.

CanvasObject

type: TObjectPtr<UCa...

ScrollBehaviorTarget

type: TUniquePtr<FEd...

description: Note that it's generally less hassle if the unique ptr types are complete here, not forward declared, else we get compile errors if their destruction shows up anywhere in the header.

type: TObjectPtr<UUV...


code: virtual bool CanSetWidgetMode ( [UE::Widget::EWidgetMode](API\Editor\EditorFramework\UE__Widget__EWidgetMode) NewMode ) const


code: void SetCameraMode ( [EUVEditor3DViewportClientCameraMode](API\Plugins\UVEditor\EUVEditor3DViewportClientCameraM-) CameraModeIn )


description: Sets the current widget mode

code: virtual void SetWidgetMode ( [UE::Widget::EWidgetMode](API\Editor\EditorFramework\UE__Widget__EWidgetMode) NewMode )


code: virtual ~FUVEditor3DViewportClient()


code: FUVEditor3DViewportClient ( [FEditorModeTools](API\Editor\UnrealEd\FEditorModeTools) * InModeTools, [FPreviewScene](API\Runtime\Engine\FPreviewScene) * InPreviewScene, const [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [SEditorViewport](API\Editor\UnrealEd\SEditorViewport) > & InEditorViewportWidget, [UUVToolViewportButtonsAPI](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI) * ViewportButtonsAPI )


description: Viewport client for the 3d live preview in the UV editor. Currently same as editor viewport client but doesn't allow editor gizmos/widgets, and alters orbit camera control.

code: class FUVEditor3DViewportClient : public [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient)

CameraMode

description: Enforce Orbit camera for UV editor live preview viewport.

ViewportButtonsAPI

type: UUVToolViewport...


description: Pure virtual to override; describe and instantiate the commands in here by using the UI COMMAND macro.

code: virtual void RegisterCommands()


className: FUVEditorCommands

code: class FUVEditorCommands : public [TCommands< FUVEditorCommands >](API\Runtime\Slate\Framework\Commands\TCommands)

AcceptOrCompleteActiveTool

type: TSharedPtr<FUI...


description: For a specific tool palette category, construct and fill ToolbarBuilder with the category's tools

code: virtual void BuildToolPalette ( [FName](API\Runtime\Core\UObject\FName) PaletteName, class [FToolBarBuilder](API\Runtime\Slate\Framework\MultiBox\FToolBarBuilder) & ToolbarBuilder )


description: FEditorViewportClient.


code: virtual void ClearNotification()


description: Creates a widget where the background visualization can be changed.

code: virtual [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateBackgroundSettingsWidget()


description: Creates a menu where the displayed UV Channel can be changed for each asset

code: virtual [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateChannelMenu()


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateDisplaySettingsWidget ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * SettingsObject ) const


description: Creates a widget where the distortion visualization settings can be changed.

code: virtual [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateDistortionVisualsSettingsWidget()


description: Creates a widget where the grid display can be changed.

code: virtual [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateGridSettingsWidget()


description: Creates a widget where the visible UDIMs can be changed.

code: virtual [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateUDIMSettingsWidget()


description: Enables or diables the Play in Editor mode warning for the editor

code: virtual void EnableShowPIEWarning ( bool bEnable )


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetActiveToolDisplayName() const


description: Returns the localized name of this toolkit type (typically just "editor")

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetBaseToolkitName() const


description: Creates a widget where the active tool's display settings can be changed.

code: virtual [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > GetToolDisplaySettingsWidget()


description: the inline content that this toolkit returns

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< class [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > GetInlineContent() const


description: IToolkit.

code: virtual [FName](API\Runtime\Core\UObject\FName) GetToolkitFName() const


description: Returns human readable name for the specific palette tool category

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetToolPaletteDisplayName ( [FName](API\Runtime\Core\UObject\FName) PaletteName ) const


description: Returns the Mode specific tabs in the mode toolbar

code: virtual void GetToolPaletteNames ( [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & InPaletteName ) const


description: Exclusive Tool Palettes only allow users to use tools from one palette at a time

code: virtual bool HasExclusiveToolPalettes() const


description: Informs the built inFModeToolkitpalette building routines about how we want the toolbars to be setup

code: virtual bool HasIntegratedToolPalettes() const


description: FModeToolkit.

code: virtual void Init ( const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [IToolkitHost](API\Editor\EditorFramework\Toolkits\IToolkitHost) > & InitToolkitHost, [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UEdMode](API\Editor\UnrealEd\Tools\UEdMode) > InOwningMode )


code: virtual void InitializeAfterModeSetup()


code: void InvalidateCachedDetailPanelState ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * ChangedObject )


description: Creates submenu for manipulating the gizmo numerical UI

code: virtual void MakeGizmoNumericalUISubMenu ( [FMenuBuilder](API\Runtime\Slate\Framework\MultiBox\FMenuBuilder) & MenuBuilder )


code: virtual void OnToolEnded ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * Manager, [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * Tool )


description: FModeToolkit.

code: virtual void OnToolStarted ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * Manager, [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * Tool )


code: static const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > PaletteNames_Standard = { ToolsTabName };


description: Set/clear mode-level warning message area. These messages don't get cleared on tool shutdown.

code: virtual void PostModeWarning ( const [FText](API\Runtime\Core\Internationalization\FText) & Message )


description: Set/clear notification message area

code: virtual void PostNotification ( const [FText](API\Runtime\Core\Internationalization\FText) & Message )


description: Set/clear warning message area

code: virtual void PostWarning ( const [FText](API\Runtime\Core\Internationalization\FText) & Message )


code: void UpdateActiveToolProperties()


className: FUVEditorModeToolkit

description: The UV editor mode toolkit is responsible for the panel on the side in the UV editor that shows mode and tool properties. Tool buttons would go inInit().

code: class FUVEditorModeToolkit : public [FModeToolkit](API\Editor\UnrealEd\Toolkits\FModeToolkit)

ActiveToolIcon

type: constFSlateBru...

ActiveToolMessageHandle

type: FStatusBarMessa...

ActiveToolName

type: FText

EditorDetailsContainer

type: TSharedPtr<SBo...

description: A container for the editor settings.

GizmoNumericalUIOverlayWidget

type: TSharedPtr<STr...

ModeWarningArea

type: TSharedPtr<STe...

description: A place for the mode to write out any warnings.

ToolButtonsContainer

description: The portion of the toolbox composed of buttons that activate tools.

ToolDetailsContainer

description: A container for the tool settings that is populated by the DetailsView managed inFModeToolkit

ToolkitWidget

type: TSharedPtr<SWi...

description: The mode's entire toolbox, which gets returned byGetInlineContent()

ToolWarningArea

description: A place for tools to write out any warnings.

ViewportOverlayWidget

description: Contains the widget container for the Accept/Cancel buttons for tools.


code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FWorkspaceItem](API\Runtime\Slate\Framework\Docking\FWorkspaceItem) > GetModeMenuCategory() const


description: Called by SLevelEditor to notify the toolbox about an existing toolkit no longer being hosted

code: virtual void OnToolkitHostingFinished ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IToolkit](API\Editor\EditorFramework\Toolkits\IToolkit) > & Toolkit )


description: Called by SLevelEditor to notify the toolbox about a new toolkit being hosted

code: virtual void OnToolkitHostingStarted ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IToolkit](API\Editor\EditorFramework\Toolkits\IToolkit) > & Toolkit )


code: void SetModeMenuCategory ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FWorkspaceItem](API\Runtime\Slate\Framework\Docking\FWorkspaceItem) > MenuCategoryIn )


code: FUVEditorModeUILayer ( const [IToolkitHost](API\Editor\EditorFramework\Toolkits\IToolkitHost) * InToolkitHost )


className: FUVEditorModeUILayer

description: Handles the hosting of additional toolkits, such as the mode toolkit, within the UVEditor's toolkit.

code: class FUVEditorModeUILayer : public [FAssetEditorModeUILayer](API\Editor\EditorFramework\Toolkits\FAssetEditorModeUILayer)

UVEditorMenuCategory

type: TSharedPtr<FWo...


code: virtual bool CanLaunchUVEditor ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> & Objects )


code: void ConvertInputArgsToValidTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> & ObjectsIn, [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> & ObjectsOut ) const


code: virtual void LaunchUVEditor ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> & Objects )


className: FUVEditorModularFeature

description: Connector class that allows other plugins to look for the UV Editor to see if the plugin is present, (viaIModularFeatures::Get().GetModularFeature and related methods), and then launch it if so.

code: class FUVEditorModularFeature : public [IUVEditorModularFeature](API\Developer\GeometryProcessingInterfaces\GeometryProcessingInterfaces\IUVEditorModular-)


className: FOnRegisterLayoutExtensions

code: class FOnRegisterLayoutExtensions : public TBaseMulticastDelegate_OneParam< void, FLayoutExtender & >


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()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FUVEditorModule

description: Besides the normal module things, the module class is also responsible for hooking the UV editor into existing menus.

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


description: FAssetEditorToolkit.

code: virtual void AddViewportOverlayWidget ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > InViewportOverlayWidget )


description: Called to test if "Save" should be enabled for this asset

code: virtual bool CanSaveAsset() const


description: Called to test if "Save As" should be enabled for this asset

code: virtual bool CanSaveAssetAs() const


description: Creates the Editor mode manager for your class. Default is to create none, for legacy reasons.

code: virtual void CreateEditorModeManager()


code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) > CreateEditorViewportClient() const


description: FBaseAssetToolkit.

code: virtual void CreateWidgets()


description: Returns the localized name of this toolkit type (typically just "editor")

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetBaseToolkitName() const


description: the color to use for the tab color

code: virtual [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetDefaultTabColor() const


description: a pointer to the brush to use for the tab icon

code: virtual const [FSlateBrush](API\Runtime\SlateCore\Styling\FSlateBrush) * GetDefaultTabIcon() const


description: Returns the invariant name of this toolkit type

code: virtual [FName](API\Runtime\Core\UObject\FName) GetToolkitFName() const


description: Returns the localized name of this toolkit

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetToolkitName() const


description: Returns the localized tooltip text of this toolkit

code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetToolkitToolTipText() const


className: InteractiveToolsPanelTabID

code: static const [FName](API\Runtime\Core\UObject\FName) InteractiveToolsPanelTabID;


description: IAssetEditorInstanceThis is important because if this returns true, attempting to edit a static mesh that is open in the UV editor may open the UV editor instead of opening the static mesh editor.

code: virtual bool IsPrimaryEditor() const


className: LivePreviewTabID

code: static const [FName](API\Runtime\Core\UObject\FName) LivePreviewTabID;


description: Called when this toolkit is being closed

code: virtual void OnClose()


description: Called when this toolkit is requested to close. Returns false if closing should be prevented.

code: virtual bool OnRequestClose ( EAssetEditorCloseReason InCloseReason )


description: Called when another toolkit (such as a ed mode toolkit) is no longer being hosted in this asset editor toolkit.

code: virtual void OnToolkitHostingFinished ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IToolkit](API\Editor\EditorFramework\Toolkits\IToolkit) > & Toolkit )


description: Called when another toolkit (such as a ed mode toolkit) is being hosted in this asset editor toolkit.

code: virtual void OnToolkitHostingStarted ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IToolkit](API\Editor\EditorFramework\Toolkits\IToolkit) > & Toolkit )


description: FBaseAssetToolkit.


description: FAssetEditorToolkit.

code: virtual void PostInitAssetEditor()


description: IToolkitinterface

code: virtual void RegisterTabSpawners ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FTabManager](API\Runtime\Slate\Framework\Docking\FTabManager) > & TabManager )


description: Called when a toolkit requests the overlay widget to be removed.

code: virtual void RemoveViewportOverlayWidget ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > InViewportOverlayWidget )


description: Called when "Save" is clicked for this asset

code: virtual void SaveAsset_Execute()


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SDockTab](API\Runtime\Slate\Widgets\Docking\SDockTab) > SpawnTab_InteractiveToolsPanel ( const [FSpawnTabArgs](API\Runtime\Slate\Framework\Docking\FSpawnTabArgs) & Args )


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SDockTab](API\Runtime\Slate\Widgets\Docking\SDockTab) > SpawnTab_LivePreview ( const [FSpawnTabArgs](API\Runtime\Slate\Framework\Docking\FSpawnTabArgs) & Args )


code: FUVEditorToolkit ( [UAssetEditor](API\Editor\UnrealEd\Tools\UAssetEditor) * InOwningAssetEditor )


description: These allow the toolkit to add an accept/cancel overlay when needed. PopulateViewportOverlays is not helpful here because that gets called just once.

code: virtual void AddOverlayWidget ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > OverlaidWidget )


className: FUVEditorToolkit

description: The toolkit is supposed to act as the UI manager for the asset editor. It's responsible for setting up viewports and most toolbars, except for the internals of the mode panel. However, because the toolkit also sets up the mode manager, and much of the important state is held in theUUVEditorModemanaged by the mode manager, the toolkit also ends up initializing the UV mode. Thus, the FUVEdiotrToolkit ends up being the central place for the UV Asset editor setup.

code: class FUVEditorToolkit : public [FBaseAssetToolkit](API\Editor\UnrealEd\Tools\FBaseAssetToolkit)

LivePreviewEditorModeManager

type: TSharedPtr<FAs...

LivePreviewScene

type: TUniquePtr<FAd...

description: Scene in which the 3D preview meshes of the assets live.

LivePreviewTabContent

type: TSharedPtr< cla...

description: These are related to the 3D "live preview" viewport.

LivePreviewViewportClient

type: TSharedPtr<FEd...

LivePreviewViewportDelegate

type: AssetEditorView...

ModeUILayer

type: TSharedPtr<FUV...

UnwrapScene

type: TUniquePtr<FPr...

description: Scene in which the 2D unwrapped uv meshes live.

type: TWeakPtr<SEdit...


description: SEditorViewport.

code: virtual void BindCommands()


description: true if the specified widget mode is active

code: virtual bool IsWidgetModeActive ( [UE::Widget::EWidgetMode](API\Editor\EditorFramework\UE__Widget__EWidgetMode) Mode ) const


description: Implement this to add a viewport toolbar to the inside top of the viewport.

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > MakeViewportToolbar()


code: class SUVEditor2DViewport : public [SAssetEditorViewport](API\Editor\UnrealEd\SAssetEditorViewport)


code: virtual void RemoveOverlayWidget ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > OverlaidWidget )


code: void Construct ( const [FArguments](API\Plugins\UVEditor\SUVEditor2DViewportToolBar\FArguments) & InArgs )


code: WidgetArgsType & Extenders &40; TSharedPtr< FExtender > InArg &41;


code: WidgetArgsType & CommandList &40; TSharedPtr< FUICommandList > InArg &41;


code: WidgetArgsType & Viewport2DClient &40; TSharedPtr< FUVEditor2DViewportClient > InArg &41;


className: WidgetArgsType

code: typedef FArguments WidgetArgsType


description: Toolbar that shows up at the top of the 2d viewport (has gizmo controls)

code: class SUVEditor2DViewportToolBar : public [SViewportToolBar](API\Editor\UnrealEd\SViewportToolBar)


className: FArguments

code: struct FArguments : public [TSlateBaseNamedArgs< SUVEditor2DViewportToolBar >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


description: SAssetEditorViewport.


code: void Construct ( const [FArguments](API\Plugins\UVEditor\SUVEditor3DViewportToolBar\FArguments) & InArgs, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< class [SUVEditor3DViewport](API\Plugins\UVEditor\SUVEditor3DViewport) > InUVEditor3DViewport )


description: Viewport used for live preview in UV editor. Has a custom toolbar overlay at the top.

code: class SUVEditor3DViewport : public [SAssetEditorViewport](API\Editor\UnrealEd\SAssetEditorViewport)


code: struct FArguments : public [TSlateBaseNamedArgs< SUVEditor3DViewportToolBar >](API\Runtime\SlateCore\Widgets\TSlateBaseNamedArgs)


description: Toolbar that shows up at the top of the 3d viewport (has camera controls)

code: class SUVEditor3DViewportToolBar : public [SViewportToolBar](API\Editor\UnrealEd\SViewportToolBar)


description: Returns the asset editor instance interface, so that its window can be focused, for example.


code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FBaseAssetToolkit](API\Editor\UnrealEd\Tools\FBaseAssetToolkit) > CreateToolkit()


code: virtual void GetObjectsToEdit ( [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & OutObjects )


code: void Initialize ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> & InObjects )


className: UUVEditor

description: However, since we're using a mode and the Interactive Tools Framework, a lot of our business logic ends up inside the mode and the tools, not the subsystem. The front-facing code is mostly in the asset editor toolkit, though the mode toolkit has most of the things that deal with the toolbar on the left.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVEditor : public [UAssetEditor](API\Editor\UnrealEd\Tools\UAssetEditor)

OriginalObjectsToEdit

type: TArray<TObject...

description: Note that things like CloseWindow, FocusWindow, and IsPrimaryEditor seem to be called on the toolkit, not the editor class, so they are overriden there.


className: FOnBackgroundMaterialChange

code: typedef TMulticastDelegate_OneParam< void, [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UMaterialInstanceDynamic](API\Runtime\Engine\Materials\UMaterialInstanceDynamic) > MaterialInstance > FOnBackgroundMaterialChange


description: Called at the end ofCreateInWorld()to allow subclasses to add additional setup

code: virtual void OnCreated()


description: Client must call this every frame for changes to .Settings to be reflected in rendered result.

code: void OnTick ( float DeltaTime )


className: UUVEditorBackgroundPreview

description: Serves as a container for the background texture/material display in the UVEditor. This class is responsible for managing the quad drawn behind the grid, as well as maintaining the texture and material choices from the user to display.

BackgroundComponent

type: TObjectPtr<UTr...

description: The component containing the quad visualization

BackgroundMaterial

type: TObjectPtr<UMa...

description: The active material being displayed for the background

bSettingsModified

type: bool

OnBackgroundMaterialChange

type: FOnBackgroundMa...

Settings

type: TObjectPtr<UUV...

description: Visualization settings


className: UUVEditorBackgroundPreviewProperties

description: Visualization settings for theUUVEditorBackgroundPreview

bVisible

description: Should the background be shown (Alt+B)

SourceMaterial

description: Display a background based on the selected material

SourceTexture

type: TObjectPtr<UTe...

description: Display a background based on the selected texture

SourceType

type: EUVEditorBackgr...

description: Source of background visuals

UDIMBlocks

type: TArray< int32 >


code: void ComputeInitialMeshSurfaceAreas()


description: Visualization settings for theUUVEditorDistortionVisualization

bCompareToAverageDensity

description: When visualizing texel density, use the average texel density, assuming a constant arbitrary texture resolution, over the entire model as the baseline.

bRespectUDIMTextureResolutions

description: When computing average texel density, take into account specific UDIM tile resolutions for a more accurate representation

bVisible

description: Should the visualization be shown.

Metric

type: EDistortionMetr...

description: The specific metric used to classify and visualize distortion.

PerUDIMTextureResolution

type: TMap< int32, in...

TargetTexelDensity

type: float


code: void ConfigureMeshColorsForTarget ( int32 TargetIndex )


code: [FColor](API\Runtime\Core\Math\FColor) GetDistortionColorForTriangle ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, int UVChannel, int Tid, double TargetAverageTexelDensity )


description: Client must call this after construction and parameter configuration to complete setup.

code: void Initialize()


description: Client must call this before destruction to clean up state.

code: void Shutdown()


className: UUVEditorDistortionVisualization

description: This class contains the logic for handling distortion visualization within the UV Editor. It manages the setting of triangle color and computing the potential metrics used to describe the amount of distortion present in the UVs.

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

PerTargetAverageTexelDensity

type: TArray< double ...


className: UUVEditorGridProperties

description: Visualization settings for theUUVEditorMode's Grid

bDrawGrid

description: Should the grid be shown?

bDrawRulers

description: Should the grid rulers be shown?


className: UUVEditorInitializationContext

description: Data/api's that are meant to be used by the tools would usually be placed into other, non-editor-only context objects (UUVToolLivePreviewAPI, etc).

LivePreviewITC

type: TWeakObjectPtr<...


description: We're changing visibility of this one to public here so that we can call it from the toolkit when clicking accept/cancel buttons. We don't want to friend the toolkit because we don't want it to later get (accidentally) more entangled with mode internals. At the same time, we're not sure whether we want to make theUEdModeone public. So this is the minimal-impact tweak.

code: virtual void ActivateDefaultTool()


description: Not sure whether we need these yet.

code: virtual void BindCommands()


description: Public for use by undo/redo. Otherwise should use RequestUVChannelChange.

code: void ChangeInputObjectLayer ( int32 AssetID, int32 NewLayerIndex )


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


description: TODO: We'll probably eventually want a function like this so we can figure out how big our 3d preview scene is and how we should position the camera intially... FBoxSphereBounds GetLivePreviewBoundingBox() const; UnlikeUInteractiveToolManager::EmitObjectChange, emitting an object change using this function does not cause it to expire when the active tool doesn't match the emitting tool. It is important that the emitted change deals properly with expiration itself, for instance expiring itself when a tool input is invalid or a contained preview is disconnected. TODO: Should this sort of option exist inUInteractiveToolManager?

code: void EmitToolIndependentObjectChange ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * TargetObject, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange) > Change, const [FText](API\Runtime\Core\Internationalization\FText) & Description )


code: static const FEditorModeID EM_UVEditorModeId = TEXT("EM_UVEditorMode");


description: List of asset names, indexed by AssetID

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


code: void GetAssetsWithUnappliedChanges ( [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> UnappliedAssetsOut )


description: A settings object suitable for display in a details panel to control the background visualization.


description: A settings object suitable for display in a details panel to control the grid.


description: A settings object suitable for display in a details panel to control the UV distortion visualization settings.


description: The index of the channel currently displayed for the given AssetID.

code: int32 GetDisplayedChannel ( int32 AssetID ) const


description: Number of UV channels in the given asset, orIndexConstants::InvalidIDif AssetID was invalid.

code: int32 GetNumUVChannels ( int32 AssetID ) const


description: A settings object suitable for display in a details panel to control the active tool's visualization settings.


description: Gets the tool target requirements for the mode. The resulting targets undergo further processing to turn them into the input objects that tools get (since these need preview meshes, etc).

code: static const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & GetToolTargetRequirements()


description: A settings object suitable for display in a details panel to control UDIM configuration.


description: Gets the factor by which UV layer unwraps get scaled (scaling makes certain things easier, like zooming in, etc).

code: static double GetUVMeshScalingFactor()


description: Asset management.

code: bool HaveUnappliedChanges() const


description: Called by an asset editor so that a created instance of the mode has all the data it needs onEnter()to initialize itself.

code: static void InitializeAssetEditorContexts ( [UContextObjectStore](API\Runtime\InteractiveToolsFramework\UContextObjectStore) & ContextStore, const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> & AssetsIn, const [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & TransformsIn, [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) & LivePreviewViewportClient, [FAssetEditorModeManager](API\Editor\UnrealEd\FAssetEditorModeManager) & LivePreviewModeManager, [UUVToolViewportButtonsAPI](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI) & ViewportButtonsAPI, [UUVTool2DViewportAPI](API\Plugins\UVEditorTools\ContextObjects\UUVTool2DViewportAPI) & UVTool2DViewportAPI )


description: This is currently not part of the base class at all... Should it be?

code: virtual bool IsDefaultToolActive()


code: virtual void ModeTick ( float DeltaTime )


code: virtual void OnToolEnded ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * Manager, [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * Tool )


code: virtual void OnToolStarted ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * Manager, [UInteractiveTool](API\Runtime\InteractiveToolsFramework\UInteractiveTool) * Tool )


code: void PopulateUDIMsByAsset ( int32 AssetId, [TArray](API\Runtime\Core\Containers\TArray)< [FUDIMSpecifier](API\Plugins\UVEditor\FUDIMSpecifier) > & UDIMsOut ) const


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


description: Used with the ToolAssetAndLayerAPI to process tool layer change requests.

code: void SetDisplayedUVChannels ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & LayerPerAsset, bool bEmitUndoTransaction )


description: Request a change of the displayed UV channel/layer. It will happen on the next tick, and create an undo/redo event.

code: void RequestUVChannelChange ( int32 AssetID, int32 Channel )


code: void SetSimulationWarning ( bool bEnabled )


description: Subclasses can override this to add additional checks on whether a tool should be allowed to start.Bydefault the check disallows starting tools during play/simulate in editor.

code: virtual bool ShouldToolStartBeAllowed ( const [FString](API\Runtime\Core\Containers\FString) & ToolIdentifier ) const


description: Deprecated* UpdateTriangleMaterialBasedOnBackground is deprecated, replaced by the more generic UpdateTriangleMaterialBasedOnDisplaySettings.

code: void UpdateTriangleMaterialBasedOnBackground ( bool IsBackgroundVisible )


className: UUVEditorMode

description: The UV editor mode is the mode used in the UV asset editor. It holds most of the inter-tool state. We put things in a mode instead of directly into the asset editor in case we want to someday use the mode in multiple asset editors.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Transient) class UUVEditorMode : public [UEdMode](API\Editor\UnrealEd\Tools\UEdMode)

AppliedCanonicalMeshes

type: TArray<TShared...

description: 1:1 with the asset arrays.

AppliedPreviews

description: 1:1 with AppliedCanonicalMeshes, the actual displayed 3d meshes that can be used by tools for background computations.

AssetNames

type: TArray<FString...

description: 1:1 with ToolTargets, indexed by AssetID

BackgroundVisualization

description: We don't actually override MouseEnter, etc, because things get forwarded to the input router viaFEditorModeTools, and we don't have any additional input handling to do at the mode level.

BeginPIEDelegateHandle

type: FDelegateHandle

bPIEModeActive

description: Holds references to PIE callbacks to handle logic when the PIE session starts & shuts down.

ContextsToShutdown

type: TArray<TWeakOb...

DefaultToolIdentifier

type: FString

description: Used to forward Render/DrawHUD calls in the live preview to the api object.

LivePreviewWorld

type: TObjectPtr<UWo...

description: Here largely for convenience to avoid having to pass it around functions.

ModifiedAssetIDs

type: TSet< int32 >

description: Authoritative list of targets that have changes that have not been baked back yet.

OriginalObjectsToEdit

description: Stores original input objects, for instanceUStaticMeshpointers.

PostSaveWorldDelegateHandle

description: Holds references to Save callbacks to handle logic when the autosave triggers and shuts down active tools.

PropertyObjectsToTick

description: Mode-level property objects (visible or not) that get ticked.

ToolInputObjects

description: Input objects we give to the tools, one per displayed UV layer.

ToolTargets

description: Tool targets created from OriginalObjectsToEdit (and 1:1 with that array) that provide us with dynamic meshes whose UV layers we unwrap.

Transforms

type: TArray< FTransf...

description: Transforms that should be used for the 3d previews, 1:1 with OriginalObjectsToEdit and ToolTargets.

UVEditorGridProperties

description: Hold a settings object to configure the grid.

UVEditorUDIMProperties

description: Hold a settings object to configure the UDIMs.

WireframesToTick

description: Wireframes have to get ticked to be able to respond to setting changes.


description: Checks that all of the assets are valid targets for an editor session. This is preferable over AreObjectsValidTargets when we haveFAssetDatabecause it allows us to avoid forcing a load of the underlying UObjects (for instance to avoid triggering a load when right clicking an asset in the content browser).

code: virtual bool AreAssetsValidTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) > & InAssets ) const


description: Checks that all of the objects are valid targets for a UV editor session.

code: virtual bool AreObjectsValidTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > & InObjects ) const


description: Tries to build the core targets that provide meshes for UV tools to work on.

code: virtual void BuildTargets ( const [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> & ObjectsIn, const [FToolTargetTypeRequirements](API\Runtime\InteractiveToolsFramework\ToolTargets\FToolTargetTypeRequirements) & TargetRequirements, [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) >> & TargetsOut )


description: Implement this for initialization of instances of the system

code: virtual void Initialize ( [FSubsystemCollectionBase](API\Runtime\Engine\Subsystems\FSubsystemCollectionBase) & Collection )


description: Implement this for deinitialization of instances of the system

code: virtual void Deinitialize()


description: Needs to be called when a UV editor instance is closed so that the subsystem knows to create a new one for these objects if they are opened again.

code: virtual void NotifyThatUVEditorClosed ( [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> ObjectsItWasEditing )


description: Either brings to the front an existing UV editor instance that is editing one of these objects, if one exists, or starts up a new instance editing all of these objects.

code: virtual void StartUVEditor ( [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> ObjectsToEdit )


className: UUVEditorSubsystem

description: The subsystem is meant to hold any UV editor operations that are not UI related (those are handled by the toolkit); however, in our case, most of our operations are wrapped up inside tools and the UV mode. Instead, the subsystem deals with some global UV asset editor things- it manages existing instances (we can't rely on the asset editor subsystem for this because the UV editor is not the primary editor for meshes), and figures out what we can launch the editor on.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVEditorSubsystem : public [UEditorSubsystem](API\Editor\EditorSubsystem\UEditorSubsystem)

OpenedEditorInstances

type: TMap<TObjectPt...

ToolTargetManager

type: TObjectPtr<UTo...

description: Used to let the subsystem figure out whether targets are valid.


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)() int32 AssetByIndex() const


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


code: void Initialize ( [UUVEditorMode](API\Plugins\UVEditor\UUVEditorMode) * ParentModeIn )


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


code: void PostAction ( [EUVEditorModeActions](API\Plugins\UVEditor\EUVEditorModeActions) Action )


description: Set UDIM Layout from selected asset's UVs

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


description: Set UDIM Layout from selected texture asset

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


className: UUVEditorUDIMProperties

description: Settings for UDIMs in the UVEditor

ActiveUDIMs

type: TArray<FUDIMSp...

description: Currently active UDIM set

UDIMSourceTexture

type: TObjectPtr<UTe...

description: Texture asset to source UDIM information from


code: virtual void RegisterLayoutExtensions ( [FLayoutExtender](API\Runtime\Slate\Framework\Docking\FLayoutExtender) & Extender )


className: UUVEditorUISubsystem

description: Interchange layer to manage built in tab locations within the editor's layout.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVEditorUISubsystem : public [UAssetEditorUISubsystem](API\Editor\EditorFramework\Toolkits\UAssetEditorUISubsystem)


code: void Initialize ( [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UToolTarget](API\Runtime\InteractiveToolsFramework\ToolTargets\UToolTarget) >> & TargetObjects, [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) >> AppliedCanonicalMeshes, bool bInitializeSelection )


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 )


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


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: UUVEditorUVChannelProperties

description: UV Layer Settings for the UVEditorMode

NumUVLayersPerAsset

type: TArray< int32 >

description: 1:1 with UVAssetNames


module: UVEditorTools

code: virtual bool CanExecuteAction() const


code: virtual bool ExecuteAction()


code: static int32 FindSewEdgeOppositePairing ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & UnwrapMesh, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & AppliedMesh, int32 UVLayerIndex, int32 UnwrapEid, bool & bWouldPreferOppositeOrderOut )


className: UUVSeamSewAction

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVSeamSewAction : public [UUVToolAction](API\Plugins\UVEditorTools\Actions\UUVToolAction)


className: UUVSplitAction

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UUVSplitAction : public [UUVToolAction](API\Plugins\UVEditorTools\Actions\UUVToolAction)


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


code: virtual void Setup ( [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) * ToolManager )


className: UUVToolAction

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

EmitChangeAPI

type: TObjectPtr<UUV...


code: void SetFromBlocks ( int32 BlockU, int32 BlockV )


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: Property sets passed here will be displayed in the Display menu at the top of the UV Editor.

code: void SetToolDisplayProperties ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * ToolDisplayPropertesIn )


className: UUVEditorToolPropertiesAPI

description: Stores pointers to additional property sets for the active tool, used by the UVEditor Mode and Toolkit to populate other settings menus, such as the Display menu.

ToolDisplayProperties

type: TObjectPtr<UOb...


className: FOnDrawGridChange

code: typedef TMulticastDelegate_OneParam< void, bool[bDrawGrid](API\Plugins\UVEditorTools\ContextObjects\UUVTool2DViewportAPI\bDrawGrid) > FOnDrawGridChange


className: FOnDrawRulersChange

code: typedef TMulticastDelegate_OneParam< void, bool[bDrawRulers](API\Plugins\UVEditorTools\ContextObjects\UUVTool2DViewportAPI\bDrawRulers) > FOnDrawRulersChange


className: FOnUDIMBlockChange

code: typedef TMulticastDelegate_OneParam< void, const [TArray](API\Runtime\Core\Containers\TArray)< [FUDIMBlock](API\Plugins\UVEditorTools\ContextObjects\FUDIMBlock) > &[UDIMBlocks](API\Plugins\UVEditorTools\ContextObjects\UUVTool2DViewportAPI\UDIMBlocks) > FOnUDIMBlockChange


code: const bool GetDrawGrid() const


code: const bool GetDrawRulers() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FUDIMBlock](API\Plugins\UVEditorTools\ContextObjects\FUDIMBlock) > & GetUDIMBlocks() const


code: void SetDrawGrid ( bool bDrawGridIn, bool bBroadcast )


code: void SetUDIMBlocks ( [TArray](API\Runtime\Core\Containers\TArray)< [FUDIMBlock](API\Plugins\UVEditorTools\ContextObjects\FUDIMBlock) > & BlocksIn, bool bBroadcast )


code: void SetDrawRulers ( bool bDrawRulersIn, bool bBroadcast )


description: Allows tools to interact with the 2d preview viewport

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

bDrawGrid

type: bool

OnDrawGridChange

type: FOnDrawGridChan...

OnDrawRulersChange

type: FOnDrawRulersCh...

OnUDIMBlockChange

type: FOnUDIMBlockCha...

UDIMBlocks

type: TArray<FUDIMBl...


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDynamicMeshAABBTree3](API\Plugins\UVEditorTools\ContextObjects\UUVToolAABBTreeStorage\FDynamicMeshAABB-) > Get ( [FDynamicMesh3](API\Plugins\UVEditorTools\ContextObjects\UUVToolAABBTreeStorage\FDynamicMesh3) * MeshKey )


code: void Remove ( [FDynamicMesh3](API\Plugins\UVEditorTools\ContextObjects\UUVToolAABBTreeStorage\FDynamicMesh3) * MeshKey )


code: void RemoveByPredicate ( [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< bool(const [FDynamicMesh3](API\Plugins\UVEditorTools\ContextObjects\UUVToolAABBTreeStorage\FDynamicMesh3) *Mesh, [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) > InputObject, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDynamicMeshAABBTree3](API\Plugins\UVEditorTools\ContextObjects\UUVToolAABBTreeStorage\FDynamicMeshAABB-) > Tree)> Predicate )


code: void Set ( [FDynamicMesh3](API\Plugins\UVEditorTools\ContextObjects\UUVToolAABBTreeStorage\FDynamicMesh3) * MeshKey, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDynamicMeshAABBTree3](API\Plugins\UVEditorTools\ContextObjects\UUVToolAABBTreeStorage\FDynamicMeshAABB-) > Tree, [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) * InputObject )


description: Called by the mode when shutting context objects down, allowing them to do any cleanup. Initialization, on the other hand is usually done by some class-specificInitialize()method.

code: virtual void Shutdown()


className: UUVToolAABBTreeStorage

description: Stores AABB trees for UV input object unwrap canonical or applied canonical meshes. Binds to the input objects' OnCanonicalModified delegate to automatically update the tree when necessary.

AABBTreeStorage

type: TMap<FDynamicM...


code: [TArray](API\Runtime\Core\Containers\TArray)< int32 > GetCurrentChannelVisibility()


code: void RequestChannelVisibilityChange ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ChannelPerAsset, bool bEmitUndoTransaction )


code: void NotifyOfAssetChannelCountChange ( int32 AssetID )


className: UUVToolAssetAndChannelAPI

description: Allows tools to interact with the assets and their UV layers

GetCurrentChannelVisibilityFunc

type: TUniqueFunction...


code: void GetAssetInputs ( [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> & AssetsOut, [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & TransformsOut ) const


code: void Initialize ( [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UObject](API\Runtime\CoreUObject\UObject\UObject) >> AssetsIn, [TArray](API\Runtime\Core\Containers\TArray)< FTransform > TransformsIn )


className: UUVToolAssetInputsContext

description: Simple context object used by UV asset editor to pass inputs down to the UV editor mode.

Assets

type: TArray<TObject...


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


className: UUVToolContextObject

description: Base class for context objects used in the UV editor.

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


code: virtual void BeginUndoTransaction ( const [FText](API\Runtime\Core\Internationalization\FText) & Description )


description: Emits a change that is considered expired when the active tool does not match the tool that was active when it was emitted.

code: virtual void EmitToolDependentChange ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * TargetObject, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange) > Change, const [FText](API\Runtime\Core\Internationalization\FText) & Description )


description: Since tool-independent changes usually operate on UV editor mesh input object, it is probably preferable to use EmitToolIndependentUnwrapCanonicalChange, which will set up a proper transaction for you.

code: virtual void EmitToolIndependentChange ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * TargetObject, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [FToolCommandChange](API\Runtime\InteractiveToolsFramework\FToolCommandChange) > Change, const [FText](API\Runtime\Core\Internationalization\FText) & Description )


description: A convenience function that is like EmitToolIndependentChange, but uses a FDynamicMeshChange that operates on the UnwrapCanonical of an input to create a change object that updates the other views and issues an OnUndoRedo broadcast on the input object.

code: virtual void EmitToolIndependentUnwrapCanonicalChange ( [UUVEditorToolMeshInput](API\Plugins\UVEditorTools\ToolTargets\UUVEditorToolMeshInput) * InputObject, [TUniquePtr](API\Runtime\Core\Templates\TUniquePtr)< [UE::Geometry::FDynamicMeshChange](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshChange) > UnwrapCanonicalMeshChange, const [FText](API\Runtime\Core\Internationalization\FText) & Description )


code: virtual void EndUndoTransaction()


code: void Initialize ( [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UInteractiveToolManager](API\Runtime\InteractiveToolsFramework\UInteractiveToolManager) > ToolManagerIn )


className: FOnDrawHUD

description: Broadcast by the 3D live preview viewport on DrawHUD() so that mechanics/tools can draw there.

code: typedef TMulticastDelegate_TwoParams< void, [FCanvas](API\Runtime\Engine\FCanvas) *Canvas, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) *RenderAPI > FOnDrawHUD


className: FOnRender

description: Broadcast by the 3D live preview viewport on Render() so that mechanics/tools can render there.

code: typedef TMulticastDelegate_OneParam< void, [IToolsContextRenderAPI](API\Runtime\InteractiveToolsFramework\IToolsContextRenderAPI) *RenderAPI > FOnRender


className: UUVToolEmitChangeAPI

description: An API object meant to be stored in a context object store that allows UV editor tools to emit appropriate undo/redo transactions.

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

ToolManager

type: TWeakObjectPtr<...


code: void GetLivePreviewCameraState ( [FViewCameraState](API\Runtime\InteractiveToolsFramework\FViewCameraState) & CameraStateOut )


code: void Initialize ( [UWorld](API\Runtime\Engine\Engine\UWorld) * WorldIn, [UInputRouter](API\Runtime\InteractiveToolsFramework\UInputRouter) * RouterIn, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void([FViewCameraState](API\Runtime\InteractiveToolsFramework\FViewCameraState) &CameraStateOut)> GetLivePreviewCameraStateFuncIn, [TUniqueFunction](API\Runtime\Core\Templates\TUniqueFunction)< void(const [UE::Geometry::FAxisAlignedBox3d](API\Runtime\GeometryCore\FAxisAlignedBox3d) &BoundingBox)> SetLivePreviewCameraToLookAtVolumeFuncIn )


code: bool AreGizmoButtonsEnabled() const


code: void SetLivePreviewCameraToLookAtVolume ( const [UE::Geometry::FAxisAlignedBox3d](API\Runtime\GeometryCore\FAxisAlignedBox3d) & BoundingBox )


className: UUVToolLivePreviewAPI

description: Allows tools to interact with the 3d preview viewport, which has a separate world and input router.

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

OnDrawHUD

type: FOnDrawHUD

OnRender

type: FOnRender


className: EGizmoMode

code: enum EGizmoMode { Select, Transform, }


code: bool AreSelectionButtonsEnabled() const


className: ESnapTypeFlag

code: enum ESnapTypeFlag { NoSnap = 0, Location = 1 << 0, Rotation = 1 << 1, Scale = 1 << 2, }


className: FOnGizmoModeChange

code: typedef TMulticastDelegate_OneParam< void, [EGizmoMode](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI\EGizmoMode) NewGizmoMode > FOnGizmoModeChange


className: FOnInitiateFocusCameraOnSelection

code: typedef TMulticastDelegate_NoParams< void > FOnInitiateFocusCameraOnSelection


className: FOnSelectionModeChange

code: typedef TMulticastDelegate_OneParam< void, [ESelectionMode](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\EUVEditorSelectionMode) NewSelectionMode > FOnSelectionModeChange


code: bool GetSnapEnabled ( [ESnapTypeFlag](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI\ESnapTypeFlag) SnapMode ) const


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


code: void SetGizmoButtonsEnabled ( bool bOn )


code: float GetSnapValue ( [ESnapTypeFlag](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI\ESnapTypeFlag) SnapMode ) const


code: void SetSelectionButtonsEnabled ( bool bOn )


code: void SetGizmoMode ( [EGizmoMode](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI\EGizmoMode) ModeIn, bool bBroadcast )


code: void SetSelectionMode ( [ESelectionMode](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\EUVEditorSelectionMode) ModeIn, bool bBroadcast )


code: void SetSnapValue ( [ESnapTypeFlag](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI\ESnapTypeFlag) SnapMode, float SnapValue )


className: UUVToolViewportButtonsAPI

description: Allows tools to interact with buttons in the viewport

GizmoMode

type: EGizmoMode

LocationSnap

type: float

OnGizmoModeChange

type: FOnGizmoModeCha...

OnInitiateFocusCameraOnSelection

type: FOnInitiateFocu...

OnSelectionModeChange

type: FOnSelectionMod...

SelectionMode

type: ESelectionMode


description: Add a point to be rendered using the component.

code: template<typename... Targs> void AddElement ( Targs... ElementPoints )


code: void ToggleSnapEnabled ( [ESnapTypeFlag](API\Plugins\UVEditorTools\ContextObjects\UUVToolViewportButtonsAPI\ESnapTypeFlag) SnapMode )


code: template<typename T, typename... Targs> void AddElementInternal ( const T & ElementPoint, Targs... ElementPoints )


code: template<typename T> void AddElementInternal ( const T & ElementPoint )


code: FBox CalcElementsBox() const


className: ElementSize

code: static const int32 ElementSize = ElementDataSize;


className: GeometryType

code: typedef VectorType GeometryType


description: Current number of points.

code: int32 NumElements() const


code: VectorType & operator[] ( int32 Index )


code: const VectorType & operator[] ( int32 Index ) const


description: Reserve enough memory for an additional number of points over the existing number already reserved. This function needs to be called before any calls toAddElement().

code: void ReserveAdditionalElements ( const int32 AdditionalNum )


description: Reserve enough memory for up to the given maximum number of points. This function needs to be called before any calls toAddElement().

code: void ReserveElements ( const int32 MaxNum )


className: TBasicElementSet

description: To support both 2D and 3D with minimal code duplication, the heigher level point/line/triangle set components are composed from the UBasic[*]SetComponentBase class for the component specific functionality, and an instantiation of theTBasicElementSettemplate class for either FVector2f or FVector3f that encapsulates all data storage specific functionality. The final derived classes UBasic[2/3]D[Point/Line/Triangle]SetComponent contain identical boilerplate code to facilitate calls that need to go both to the component base class and the point base class, e.g. Clear() will both mark the component as dirty and delete all points. Generic storage for sets of geometry.

code: template<typename VectorType, int32 ElementDataSize> class TBasicElementSet

bElementsDirty

type: bool

Elements

type: TArray< VectorT...


description: Clear all lines and component state.

code: void Clear()


description: Instantiation of a basic line set component in 2D using FVector2f for line positions.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasic2DLineSetComponent : public [UBasicLineSetComponentBase](API\Plugins\UVEditorTools\Drawing\UBasicLineSetComponentBase), public [TBasicElementSet< FVector2f, 2 >](API\Plugins\UVEditorTools\Drawing\TBasicElementSet)


description: Clear all points and component state.


description: Instantiation of a basic point set component in 2D using FVector2f for point positions.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasic2DPointSetComponent : public [UBasicPointSetComponentBase](API\Plugins\UVEditorTools\Drawing\UBasicPointSetComponentBase), public [TBasicElementSet< FVector2f, 1 >](API\Plugins\UVEditorTools\Drawing\TBasicElementSet)


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasic2DTriangleSetComponent : public [UBasicTriangleSetComponentBase](API\Plugins\UVEditorTools\Drawing\UBasicTriangleSetComponentBase), public [TBasicElementSet< FVector2f, 3 >](API\Plugins\UVEditorTools\Drawing\TBasicElementSet)


description: Instantiation of a basic line set component in 3D using FVector3f for line positions.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasic3DLineSetComponent : public [UBasicLineSetComponentBase](API\Plugins\UVEditorTools\Drawing\UBasicLineSetComponentBase), public [TBasicElementSet< FVector3f, 2 >](API\Plugins\UVEditorTools\Drawing\TBasicElementSet)


description: Instantiation of a basic point set component in 3D using FVector3f for point positions.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasic3DPointSetComponent : public [UBasicPointSetComponentBase](API\Plugins\UVEditorTools\Drawing\UBasicPointSetComponentBase), public [TBasicElementSet< FVector3f, 1 >](API\Plugins\UVEditorTools\Drawing\TBasicElementSet)


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasic3DTriangleSetComponent : public [UBasicTriangleSetComponentBase](API\Plugins\UVEditorTools\Drawing\UBasicTriangleSetComponentBase), public [TBasicElementSet< FVector3f, 3 >](API\Plugins\UVEditorTools\Drawing\TBasicElementSet)


description: Clears the component state and marks component as dirty.

code: void ClearComponent()


description: Return number of material elements in this primitive

code: virtual int32 GetNumMaterials() const


description: Specify material that handles lines.

code: void SetLineMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InLineMaterial )


description: Update component bounds using a provided function that determines the box around all line positions. This unifies how the bounds are calculated while keeping the calculation of the box around all line positions generic.

code: template<typename CalcLineBoxFn> FBoxSphereBounds UpdateComponentBounds ( const FTransform & LocalToWorld, bool bLinesDirty, CalcLineBoxFn && CalcLineBox ) const


code: UBasicLineSetComponentBase()


className: UBasicLineSetComponentBase

description: To support both 2D and 3D with minimal code duplication, the line set components are composed from theUBasicLineSetComponentBaseclass for the component specific functionality, and an instantiation of theTBasicElementSettemplate class for either FVector2f or FVector3f that encapsulates all line specific functionality. The final derived classesUBasic2DLineSetComponentandUBasic3DLineSetComponentcontain identical boilerplate code to facilitate calls that need to go both to the component base class and the line base class, e.g. Clear() will both mark the component as dirty and delete all lines.Base class for component specific functionality independent of the type of line stored in the component.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasicLineSetComponentBase : public [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent)

Bounds

type: FBoxSphereBound...

Color

type: FColor

LineMaterial

type: TObjectPtr< con...


description: Specify material that handles points.

code: void SetPointMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InPointMaterial )


description: Set per point material parameters that are uniform for all points.

code: void SetPointSetParameters ( [FColor](API\Runtime\Core\Math\FColor) InColor, float InSize, float InDepthBias )


description: Update component bounds using a provided function that determines the box around all point positions. This unifies how the bounds are calculated while keeping the calculation of the box around all point positions generic.

code: template<typename CalcPointBoxFn> FBoxSphereBounds UpdateComponentBounds ( const FTransform & LocalToWorld, bool bPointsDirty, CalcPointBoxFn && CalcPointBox ) const


code: UBasicPointSetComponentBase()


description: Set per line material parameters that are uniform for all lines.

code: void SetLineSetParameters ( [FColor](API\Runtime\Core\Math\FColor) InColor, float InSize, float InDepthBias )


className: UBasicPointSetComponentBase

description: To support both 2D and 3D with minimal code duplication, the point set components are composed from theUBasicPointSetComponentBaseclass for the component specific functionality, and an instantiation of theTBasicElementSettemplate class for either FVector2f or FVector3f that encapsulates all point specific functionality. The final derived classesUBasic2DPointSetComponentandUBasic3DPointSetComponentcontain identical boilerplate code to facilitate calls that need to go both to the component base class and the point base class, e.g. Clear() will both mark the component as dirty and delete all points. Base class for component specific functionality independent of the type of point stored in the component.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasicPointSetComponentBase : public [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent)


description: Specify material that handles lines.

code: void SetTriangleMaterial ( [UMaterialInterface](API\Runtime\Engine\Materials\UMaterialInterface) * InTriangleMaterial )


code: void SetTriangleSetParameters ( [FColor](API\Runtime\Core\Math\FColor) InColor, const FVector3f & NormalIn )


code: template<typename CalcTriangleBoxFn> FBoxSphereBounds UpdateComponentBounds ( const FTransform & LocalToWorld, bool bTrianglesDirty, CalcTriangleBoxFn && CalcTriangleBox ) const


code: UBasicTriangleSetComponentBase()


className: UBasicTriangleSetComponentBase

description: To support both 2D and 3D with minimal code duplication, the line set components are composed from theUBasicTriangleSetComponentBaseclass for the component specific functionality, and an instantiation of theTBasicElementSettemplate class for either FVector2f or FVector3f that encapsulates all line specific functionality. The final derived classesUBasic2DTriangleSetComponentandUBasic3DTriangleSetComponentcontain identical boilerplate code to facilitate calls that need to go both to the component base class and the line base class, e.g. Clear() will both mark the component as dirty and delete all lines.Base class for component specific functionality independent of the type of line stored in the component.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UBasicTriangleSetComponentBase : public [UMeshComponent](API\Runtime\Engine\Components\UMeshComponent)


className: EChannelEditToolAction

code: enum EChannelEditToolAction { NoAction, Add, Copy, Delete, }


code: void AppendToAttributes ( [TArray](API\Runtime\Core\Containers\TArray)< [FAnalyticsEventAttribute](API\Runtime\Analytics\FAnalyticsEventAttribute) > & Attributes, [FString](API\Runtime\Core\Containers\FString) Prefix ) const


className: EUVEditorSeamMode

code: enum EUVEditorSeamMode { Cut = 0, Join = 1, }


className: FTargetAnalytics

code: struct FTargetAnalytics

PerAssetActiveUVChannelIndex

type: TArray< int32 >


description: Access the singleton instance for this style set

code: static [FUVEditorStyle](API\Plugins\UVEditorTools\FUVEditorStyle) & Get()


className: FUVEditorStyle

description: No destructors are accessible with public or protected access.

code: class FUVEditorStyle : public [FSlateStyleSet](API\Runtime\SlateCore\Styling\FSlateStyleSet)


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()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FUVEditorToolsModule

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


className: AxisThickness

description: Grid.

code: static const float AxisThickness;


className: BackgroundQuadDepthOffset

description: Background.

code: static const float BackgroundQuadDepthOffset;


className: CameraFarPlaneWorldZ

description: Position to place the 2D camera far plane relative to world z.

code: static const float CameraFarPlaneWorldZ;


description: Converts from UV value as displayed to user or seen before import, to UV as stored on a mesh in Unreal.

code: static FVector2f ExternalUVToInternalUV ( const FVector2f & UV )


className: CameraNearPlaneProportionZ

description: The near plane gets positioned some proportion to z = 0. We don't use a constant value because our depth offset values are percentage-based Lower proportion move the plane nearer to world z Note: This serves as an upper bound for all other depth offsets - higher than this value risks being clipped

code: static const float CameraNearPlaneProportionZ;


className: CVarEnablePrototypeUDIMSupport

description: CVARs for Experimental Features.

code: static [TAutoConsoleVariable](API\Runtime\Core\HAL\TAutoConsoleVariable)< int32 > CVarEnablePrototypeUDIMSupport;


description: Like other world-UV conversion functions, clients should not know about the details of this conversion.

code: static FVector3d ExternalUVToUnwrapWorldPosition ( const FVector2f & UV )


code: static [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetBoundaryColorByTargetIndex ( int32 TargetIndex )


code: static [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetTriangleColorByTargetIndex ( int32 TargetIndex )


code: static [FLinearColor](API\Runtime\Core\Math\FLinearColor) GetWireframeColorByTargetIndex ( int32 TargetIndex )


className: GridLevels

code: static const int32 GridLevels;


className: GridMajorColor

code: static const [FColor](API\Runtime\Core\Math\FColor) GridMajorColor;


className: GridMajorThickness

code: static const float GridMajorThickness;


className: GridMinorColor

code: static const [FColor](API\Runtime\Core\Math\FColor) GridMinorColor;


className: GridSubdivisionsPerLevel

code: static const int32 GridSubdivisionsPerLevel;


description: Converts from UV as stored on a mesh in Unreal to UV as displayed to user or seen in an external program.

code: static FVector2f InternalUVToExternalUV ( const FVector2f & UV )


className: LivePreviewExistingSeamColor

code: static const [FColor](API\Runtime\Core\Math\FColor) LivePreviewExistingSeamColor;


className: LivePreviewExistingSeamDepthBias

code: static const float LivePreviewExistingSeamDepthBias;


className: LivePreviewExistingSeamThickness

code: static const float LivePreviewExistingSeamThickness;


className: LivePreviewHighlightDepthOffset

code: static const float LivePreviewHighlightDepthOffset;


className: LivePreviewHighlightThickness

code: static const float LivePreviewHighlightThickness;


className: LivePreviewHighlightPointSize

code: static const float LivePreviewHighlightPointSize;


description: Values for Snapping.

code: static float LocationSnapValue ( int32 LocationSnapMenuIndex )


description: Provides a color blindness friendly ramp for visualizing metrics and other data Domain is [0 , 1]

code: static [FColor](API\Runtime\Core\Math\FColor) MakeCividisColorFromScalar ( float Scalar )


description: Provides a color blindness friendly ramp for visualizing diverging metrics and other data Domain is [-0.5, 0.5]

code: static [FColor](API\Runtime\Core\Math\FColor) MakeTurboColorFromScalar ( float Scalar )


description: Values for Snapping.

code: static int32 MaxLocationSnapValue()


className: PivotCircleNumSides

description: Pivots.

code: static const int32 PivotCircleNumSides;


className: PivotCircleRadius

code: static const float PivotCircleRadius;


className: PivotLineColor

code: static const [FColor](API\Runtime\Core\Math\FColor) PivotLineColor;


className: PivotLineThickness

code: static const float PivotLineThickness;


className: RulerSubdivisionLevel

code: static const int32 RulerSubdivisionLevel;


className: RulerXColor

code: static const [FColor](API\Runtime\Core\Math\FColor) RulerXColor;


className: RulerYColor

code: static const [FColor](API\Runtime\Core\Math\FColor) RulerYColor;


className: SelectionHoverTriangleWireframeColor

code: static const [FColor](API\Runtime\Core\Math\FColor) SelectionHoverTriangleWireframeColor;


className: SelectionHoverTriangleDepthBias

code: static const float SelectionHoverTriangleDepthBias;


className: SelectionHoverTriangleFillColor

code: static const [FColor](API\Runtime\Core\Math\FColor) SelectionHoverTriangleFillColor;


className: SelectionHoverTriangleOpacity

code: static const float SelectionHoverTriangleOpacity;


className: SelectionHoverWireframeDepthBias

code: static const float SelectionHoverWireframeDepthBias;


className: SelectionLineThickness

code: static const float SelectionLineThickness;


className: SelectionPointThickness

code: static const float SelectionPointThickness;


className: SelectionTriangleDepthBias

code: static const float SelectionTriangleDepthBias;


className: SelectionTriangleFillColor

code: static const [FColor](API\Runtime\Core\Math\FColor) SelectionTriangleFillColor;


className: SelectionTriangleOpacity

description: Selection Highlighting Properties.

code: static const float SelectionTriangleOpacity;


className: SelectionTriangleWireframeColor

code: static const [FColor](API\Runtime\Core\Math\FColor) SelectionTriangleWireframeColor;


className: SelectionWireframeDepthBias

code: static const float SelectionWireframeDepthBias;


className: SewLineDepthOffset

code: static const float SewLineDepthOffset;


className: SewLineHighlightThickness

description: Sew Action styling.

code: static const float SewLineHighlightThickness;


className: SewSideLeftColor

code: static const [FColor](API\Runtime\Core\Math\FColor) SewSideLeftColor;


className: SewSideRightColor

code: static const [FColor](API\Runtime\Core\Math\FColor) SewSideRightColor;


className: ToolCompletionPathColor

code: static const [FColor](API\Runtime\Core\Math\FColor) ToolCompletionPathColor;


className: ToolExtendCutPathColor

code: static const [FColor](API\Runtime\Core\Math\FColor) ToolExtendCutPathColor;


className: ToolExtendJoinPathColor

code: static const [FColor](API\Runtime\Core\Math\FColor) ToolExtendJoinPathColor;


className: ToolExtendPathDepthBias

code: static const float ToolExtendPathDepthBias;


className: ToolExtendPathThickness

code: static const float ToolExtendPathThickness;


className: ToolLockedCutPathColor

description: These are currently used by the seam tool but can be generally used by tools for displaying paths.

code: static const [FColor](API\Runtime\Core\Math\FColor) ToolLockedCutPathColor;


className: ToolLockedJoinPathColor

code: static const [FColor](API\Runtime\Core\Math\FColor) ToolLockedJoinPathColor;


className: ToolLockedPathDepthBias

code: static const float ToolLockedPathDepthBias;


className: ToolLockedPathThickness

code: static const float ToolLockedPathThickness;


className: ToolPointSize

code: static const float ToolPointSize;


className: UnwrapBoundaryHueShift

code: static const float UnwrapBoundaryHueShift;


className: UnwrapBoundarySaturation

code: static const float UnwrapBoundarySaturation;


className: UnwrapBoundaryValue

code: static const float UnwrapBoundaryValue;


className: UnwrapTriangleDepthOffset

code: static const float UnwrapTriangleDepthOffset;


className: UnwrapTriangleFillColor

code: static const [FColor](API\Runtime\Core\Math\FColor) UnwrapTriangleFillColor;


className: UnwrapTriangleOpacity

description: 2D Unwrap Display Properties

code: static const float UnwrapTriangleOpacity;


className: UnwrapTriangleOpacityWithBackground

code: static const float UnwrapTriangleOpacityWithBackground;


className: UnwrapTriangleWireframeColor

code: static const [FColor](API\Runtime\Core\Math\FColor) UnwrapTriangleWireframeColor;


code: static FVector2f UnwrapWorldPositionToExternalUV ( const FVector3d & VertPosition )


className: UVMeshScalingFactor

description: The following are UV Editor specific style items that don't, strictly, matter to the SlateStyleSet, but seemed appropriate to place here. The ScaleFactor just scales the mesh up. Scaling the mesh up makes it easier to zoom in further into the display before getting issues with the camera near plane distance.

code: static const float UVMeshScalingFactor;


code: static FVector3d UVToVertPosition ( const FVector2f & UV )


code: static FVector2f VertPositionToUV ( const FVector3d & VertPosition )


className: WireframeDepthOffset

code: static const float WireframeDepthOffset;


className: XAxisColor

code: static const [FColor](API\Runtime\Core\Math\FColor) XAxisColor;


className: YAxisColor

code: static const [FColor](API\Runtime\Core\Math\FColor) YAxisColor;


code: static double ReedBeta ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, int32 UVChannel, int32 Tid )


className: FUVEditorUXSettings

code: class FUVEditorUXSettings


code: static double Sander ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, int32 UVChannel, int32 Tid, bool bUseL2 )


code: static double TexelDensity ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, int32 UVChannel, int32 Tid, int32 MapSize )


className: EUVEditorAlignAnchor

code: enum EUVEditorAlignAnchor { BoundingBox, UDIMTile, Manual, }


className: EUVEditorAlignDirection

code: enum EUVEditorAlignDirection { None, Top, Bottom, Left, Right, CenterVertically, CenterHorizontally, }


className: EUVEditorAlignDistributeGroupingMode

code: enum EUVEditorAlignDistributeGroupingMode { IndividualBoundingBoxes, EnclosingBoundingBox, IndividualVertices, }


className: EUVEditorDistributeMode

code: enum EUVEditorDistributeMode { None, VerticalSpace, HorizontalSpace, TopEdges, BottomEdges, LeftEdges, RightEdges, CentersVertically, CentersHorizontally, MinimallyRemoveOverlap, }


className: EUVEditorPivotType

description: Transform Pivot Mode

code: enum EUVEditorPivotType { BoundingBoxCenter, Origin, IndividualBoundingBoxCenter, Manual, }


className: EUVEditorTranslationMode

description: Translation Mode

code: enum EUVEditorTranslationMode { Relative, Absolute, }


className: EUVEditorUVTransformType

description: UV Transform Strategies for the UV Transform Tool

code: enum EUVEditorUVTransformType { Transform, Align, Distribute, }


code: virtual void HandleTransformationOp ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: virtual ~FUVEditorUVAlignOp()


className: FUVEditorUVAlignOp

code: class FUVEditorUVAlignOp : public [UE::Geometry::FUVEditorUVTransformBaseOp](API\Plugins\UVEditorTools\Operators\FUVEditorUVTransformBaseOp)

AlignAnchor

type: EUVEditorAlignA...

AlignDirection

type: EUVEditorAlignD...


code: virtual ~FUVEditorUVDistributeOp()


className: FUVEditorUVDistributeOp

code: class FUVEditorUVDistributeOp : public [UE::Geometry::FUVEditorUVTransformBaseOp](API\Plugins\UVEditorTools\Operators\FUVEditorUVTransformBaseOp)

DistributeMode

type: EUVEditorDistri...


description: Calculate the result of the operator. This will populate the internal Mesh and Transform.

code: virtual void CalculateResult ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: void CollectTransformElements()


code: FVector2f GetAlignmentPointFromBoundingBoxAndDirection ( [EUVEditorAlignDirectionBackend](API\Plugins\UVEditorTools\Operators\UE__Geometry__EUVEditorAlignDire-) Direction, const [FAxisAlignedBox2d](API\Runtime\GeometryCore\FAxisAlignedBox2d) & BoundingBox )


code: FVector2f GetAlignmentPointFromUDIMAndDirection ( [EUVEditorAlignDirectionBackend](API\Plugins\UVEditorTools\Operators\UE__Geometry__EUVEditorAlignDire-) Direction, [FVector2i](API\Runtime\GeometryCore\FVector2i) UDIMTile )


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


code: void HandleTransformationOp ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


code: void RebuildBoundingBoxes()


code: void SetSelection ( const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & EdgeSelection, const [TSet](API\Runtime\Core\Containers\TSet)< int32 > & VertexSelection )


code: void SetTransform ( const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


code: virtual ~FUVEditorUVTransformBaseOp()


code: void SortComponentsByBoundingBox ( bool bSortXThenY )


className: FUVEditorUVTransformBaseOp

code: class FUVEditorUVTransformBaseOp : public [UE::Geometry::FDynamicMeshOperator](API\Plugins\ModelingOperators\FDynamicMeshOperator)

ActiveUVLayer

type: FDynamicMeshUVO...

EdgeSelection

type: TOptional<TSet...

ElementToComponent

type: TMap< int32, in...

OriginalMesh

type: TSharedPtr<FDy...

description: Inputs

OverallBoundingBox

type: FAxisAlignedBox...

PerComponentBoundingBoxes

type: TArray<FAxisAl...

UVComponents

type: TSharedPtr<FMe...

UVLayerIndex

type: int

VisualizationPivots

type: TArray< FVector...


code: FVector2f GetPivotFromMode ( int32 ElementID, [EUVEditorPivotTypeBackend](API\Plugins\UVEditorTools\Operators\UE__Geometry__EUVEditorPivotType-) Mode )


code: virtual ~FUVEditorUVTransformOp()


code: virtual void HandleTransformationOp ( [FProgressCancel](API\Runtime\GeometryCore\Util\FProgressCancel) * Progress )


className: FUVEditorUVTransformOp

code: class FUVEditorUVTransformOp : public [UE::Geometry::FUVEditorUVTransformBaseOp](API\Plugins\UVEditorTools\Operators\FUVEditorUVTransformBaseOp)

PivotMode

type: EUVEditorPivotT...

QuickRotation

type: float

QuickTranslation

description: Inputs

TranslationMode

type: EUVEditorTransl...


description: Forward declarations

code: namespace UE { namespace Geometry { enum EUVEditorAlignDistributeGroupingModeBackend { IndividualBoundingBoxes, EnclosingBoundingBox, IndividualVertices, } } }


description: Forward declarations

code: namespace UE { namespace Geometry { enum EUVEditorAlignAnchorBackend { UDIMTile, BoundingBox, Manual, } } }


description: Forward declarations

code: namespace UE { namespace Geometry { enum EUVEditorAlignDirectionBackend { None, Top, Bottom, Left, Right, CenterVertically, CenterHorizontally, } } }


description: Forward declarations

code: namespace UE { namespace Geometry { enum EUVEditorDistributeModeBackend { None, LeftEdges, RightEdges, TopEdges, BottomEdges, CentersVertically, CentersHorizontally, VerticalSpace, HorizontalSpace, MinimallyRemoveOverlap, } } }


description: Forward declarations

code: namespace UE { namespace Geometry { enum EUVEditorPivotTypeBackend { Origin, IndividualBoundingBoxCenter, BoundingBoxCenter, Manual, } } }


description: Forward declarations

code: namespace UE { namespace Geometry { enum EUVEditorUVTransformTypeBackend { Transform, Align, Distribute, } } }


description: Forward declarations

code: namespace UE { namespace Geometry { enum EUVEditorTranslationModeBackend { Relative, Absolute, } } }


className: UUVEditorUVAlignProperties

description: UV Align Settings

AlignAnchor

description: Controls what geometry the alignment is to be relative to when performed.

AlignDirection

description: Controls what side of the island bounding boxes are being aligned

EditCondition

description: Manual anchor location for relative alignment

Grouping

description: Controls how alignment considers grouping selected objects with respect to the alignment behavior.


className: UUVEditorUVDistributeProperties

description: UV Distribute Settings

bEnableManualDistances

type: bool

description: If true, enable overriding distances used in the distribution behavior with manually entered values.

DistributeMode

description: Controls the distribution behavior

EditCondition

description: For Edge and Center distribution modes, specify the desired overall distance within which to evenly place the edges or centers.

description: Controls how distribution considers grouping selected objects with respect to the distribution behavior.


className: UUVEditorUVQuickTransformProperties

description: SeeFUVEditorUVTransformToolDetailsandFUVEditorUVQuickTransformToolDetails, where we provide two customizations which present different views of the "same" properties - one with all settings and one with simply the quick transform settings. This is designed to be used in the future where we want to provide a quick translate "tool" when no other tools are running.


description: IDynamicMeshOperatorFactory API.


className: UUVEditorUVTransformProperties

description: UV Transform Settings

description: Manual Transformation origin point

PivotMode

description: Transformation origin mode used for scaling and rotation

Scale

description: Scale applied to UVs, potentially non-uniform

Translation

description: Translation applied to UVs, and after scaling and rotation

UIMin

description: Rotation applied to UVs after scaling, specified in degrees


code: UUVEditorUVTransformPropertiesBase()


className: UUVEditorUVTransformPropertiesBase

description: UV Transform Settings


className: ESelectionChangeTypeFlag

description: Enum to describe the nature of the selection change during either a OnPreSelectionChange callback or OnSelectionChange callback.

code: enum ESelectionChangeTypeFlag { None = 0, SelectionChanged = 1 << 0, UnsetSelectionChanged = 1 << 1, }


code: bool AreElementsPresentInMesh ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh ) const


description: Utility method to convert element ids from those belonging to the applied mesh to those belonging to equivalent ids on the unwrapped mesh

code: static [TArray](API\Runtime\Core\Containers\TArray)< int32 > ConvertAppliedElementIdsToUnwrappedElementIds ( [EType](API\Plugins\UVEditorTools\Selection\FUVToolSelection\EType) SelectionMode, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & AppliedMesh, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & UnwrapMesh, const [FDynamicMeshUVOverlay](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshUVOverlay) & UVOverlay, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & IDsIn, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & AppliedOnlyElementIds )


description: Utility method to convert element ids from those belonging to the unwrapped mesh to those belonging to equivalent ids on the applied mesh

code: static [TArray](API\Runtime\Core\Containers\TArray)< int32 > ConvertUnwrappedElementIdsToAppliedElementIds ( [EType](API\Plugins\UVEditorTools\Selection\FUVToolSelection\EType) SelectionMode, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & UnwrapMesh, const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & AppliedMesh, const [FDynamicMeshUVOverlay](API\Runtime\GeometryCore\DynamicMesh\FDynamicMeshUVOverlay) & UVOverlay, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & IDsIn )


className: UUVEditorUVTransformOperatorFactory

description: Inherits fromUObjectso that it can hold a strong pointer to the settingsUObject, which needs to be aUObjectto be displayed in the details panel.

GetSelectedUVChannel

type: TUniqueFunction...

Settings

type: TObjectPtr<UUV...

TargetTransform

type: FTransform

TransformType

type: EUVEditorUVTran...


className: EType

code: enum EType { Vertex, Edge, Triangle, }


description: If the target for this selection is currently invalid or unset, this will return an empty selection.


description: Utility method to construct a new selection from an existing reference selection, only with a new geometry type.

code: [FUVToolSelection](API\Plugins\UVEditorTools\Selection\FUVToolSelection) GetConvertedSelection ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, [FUVToolSelection::EType](API\Plugins\UVEditorTools\Selection\FUVToolSelection\EType) ExpectedSelectionType ) const


code: bool HasStableEdgeIdentifiers() const


code: bool IsAllSelected ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh ) const


code: bool operator== ( const [FUVToolSelection](API\Plugins\UVEditorTools\Selection\FUVToolSelection) & Other ) const


code: bool operator!= ( const [FUVToolSelection](API\Plugins\UVEditorTools\Selection\FUVToolSelection) & Other ) const


code: void RestoreFromStableEdgeIdentifiers ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh )


code: void SaveStableEdgeIdentifiers ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh )


code: void SelectAll ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh, [EType](API\Plugins\UVEditorTools\Selection\FUVToolSelection\EType) TypeIn )


className: FUVToolSelection

description: Class that represents a selection in the canonical unwrap of a UV editor input object.

code: class FUVToolSelection

SelectedIDs

type: TSet< int32 >

StableEdgeIDs

type: FMeshEdgesFromT...

Target

type: TWeakObjectPtr<...

Type

type: EType


description: A tool that returns false here will have the unset element selections (ie selections of triangles that don't have associated UV's) cleared before its invocation. Returning true will keep these unset element selections, but the tool will be responsible for dealing with them and avoiding any invalid states.

code: virtual bool SupportsUnsetElementAppliedMeshSelections() const


className: IUVToolSupportsSelection

description: If a tool does not inherit fromIUVToolSupportsSelection, then selection will automatically be cleared before the tool invocation via an undoable transaction, to avoid a state where the selection refers to invalid items after tool completion. If a tool does inherit fromIUVToolSupportsSelection, then the UV editor will not clear the selection before invocation, allowing the tool to use it. However, the tool is expected to properly deal with selection itself and avoid an invalid state (including avoiding incorrect undo/redo selection event ordering.

code: class IUVToolSupportsSelection


className: operator&=

code: [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) & operator&= ( [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) & Lhs, [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) Rhs )


className: operator^

code: constexpr [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) operator^ ( [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) Lhs, [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) Rhs )


className: operator~

code: constexpr [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) operator~ ( [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) E )


className: operator^=

code: [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) & operator^= ( [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) & Lhs, [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) Rhs )


className: operator!

code: constexpr bool operator! ( [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) E )


description: IHoverBehaviorTargetimplementation.

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) BeginHoverSequenceHitTest ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & PressPos, bool bSourceIsLivePreview )


className: CtrlModifierID

code: static const int32 CtrlModifierID = 2;


code: [FAxisAlignedBox3d](API\Runtime\GeometryCore\FAxisAlignedBox3d) ToBoundingBox ( const [FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & Mesh ) const


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


className: operator&

code: constexpr [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) operator& ( [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) Lhs, [ESelectionChangeTypeFlag](API\Plugins\UVEditorTools\Selection\ESelectionChangeTypeFlag) Rhs )


code: bool GetHitTid ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ClickPos, int32 & TidOut, int32 & AssetIDOut, bool bUseUnwrap, int32 * ExistingSelectionObjectIndexOut )


description: Should be the same as the mode-level targets array, indexed by AssetID.

code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDynamicMeshAABBTree3](API\Plugins\UVEditorTools\Selection\UUVEditorMeshSelectionMechanic\FDynamicMeshAABB-) > GetMeshSpatial ( int32 TargetId, bool bUseUnwrap )


description: Initialization functions. The selection API is provided as a parameter rather than being grabbed out of the context store mainly because UVToolSelectionAPI itself sets up a selection mechanic, and is not yet in the context store when it does this.

code: void Initialize ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [UWorld](API\Runtime\Engine\Engine\UWorld) * LivePreviewWorld, [UUVToolSelectionAPI](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI) * SelectionAPI )


description: IClickBehaviorTargetimplementation.

code: virtual [FInputRayHit](API\Runtime\InteractiveToolsFramework\FInputRayHit) IsHitByClick ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ClickPos, bool bSourceIsLivePreview )


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


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


code: virtual void OnBeginHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos )


code: void ModifyExistingSelection ( [TSet](API\Runtime\Core\Containers\TSet)< int32 > & SelectionSetToModify, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedIDs )


code: virtual void OnClicked ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & ClickPos, bool bSourceIsLivePreview )


code: void OnDragRectangleChanged ( const [FCameraRectangle](API\Plugins\ModelingComponents\Mechanics\FCameraRectangle) & CurrentRectangle, bool bSourceIsLivePreview )


code: void OnDragRectangleFinished ( const [FCameraRectangle](API\Plugins\ModelingComponents\Mechanics\FCameraRectangle) & Rectangle, bool bCancelled, bool bSourceIsLivePreview )


description: For marquee mechanic.

code: void OnDragRectangleStarted()


code: virtual bool OnUpdateHover ( const [FInputDeviceRay](API\Runtime\InteractiveToolsFramework\FInputDeviceRay) & DevicePos, bool bSourceIsLivePreview )


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

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


description: IModifierToggleBehaviorTargetimplementation.

code: virtual void OnUpdateModifierState ( int ModifierID, bool bIsOn )


code: void SetIsEnabled ( bool bIsEnabled )


description: Sets selection mode for the mechanic.

code: void SetSelectionMode ( [ESelectionMode](API\Plugins\UVEditorTools\Selection\UUVToolSelectionAPI\EUVEditorSelectionMode) TargetMode, const [FModeChangeOptions](API\Plugins\UVEditorTools\Selection\UUVEditorMeshSelectionMechanic\FModeChangeOptio-) & Options )


code: void SetShowHoveredElements ( bool bShow )


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