code: void AddMapping ( int32 CollectionIdx, int32 BoneIdx, int32 StartIdx )


className: FTextAndSlateColor

module: FractureEditor

code: struct FTextAndSlateColor

Color

type: FSlateColor

Text

type: FText


className: FIndexMapping

description: Helper structure to map visualized geometry to source geometry and the bone that it corresponds to (if applicable)

code: struct FIndexMapping


code: int32 GetEndIdx ( int32 CorrespondIdx, int32 ArrayNum ) const


code: FVector GetExplodedVector ( int32 MappingIdx, const [UGeometryCollectionComponent](API\Runtime\GeometryCollectionEngine\GeometryCollection\UGeometryCollect-) * Collection ) const


className: FVisualizationMappings

description: Helper structure to correspond aUFractureModalTool's VisualizedCollections with elements of the tool's visualizations.

code: struct FVisualizationMappings

Mappings

type: TArray<FIndexM...


code: static void AddSingleRootNodeIfRequired ( [UGeometryCollection](API\Runtime\GeometryCollectionEngine\GeometryCollection\UGeometryCollection) * GeometryCollectionObject )


code: static void AddAdditionalAttributesIfRequired ( [UGeometryCollection](API\Runtime\GeometryCollectionEngine\GeometryCollection\UGeometryCollection) * GeometryCollectionObject )


code: virtual bool CanExecute() const


code: static void ClearProximity ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) * GeometryCollection )


description: Executes the command. Derived types need to be implemented in a thread safe way

code: virtual void Execute ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FFractureEditorModeToolkit](API\Plugins\FractureEditor\FFractureEditorModeToolkit) > InToolkit )


code: FModifyContextScope &40; UFractureActionTool &42; ActionTool, FFractureToolContext &42; FractureContext, bool bWantPhysicsUpdate &41;


description: This is the Text that will appear on the tool button to execute the tool

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


className: FModifyContextScope

description: Scope sets up modification and updates UI after.

code: struct FModifyContextScope

ActionTool

type: UFractureAction...

bNeedPhysicsUpdate

type: bool

FractureContext

type: FFractureToolCo...


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


code: static [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > GetSelectedComponentMaterialNames ( bool bIncludeDefault, bool bUseFullNamesIfPossible )


description: Get the Geometry Collection components in the current selection

code: static void GetSelectedGeometryCollectionComponents ( [TSet](API\Runtime\Core\Containers\TSet)< [UGeometryCollectionComponent](API\Runtime\GeometryCollectionEngine\GeometryCollection\UGeometryCollect-) * > & GeomCompSelection, bool bFilterForUniqueRestCollections )


code: virtual [FSlateIcon](API\Runtime\SlateCore\Textures\FSlateIcon) GetToolIcon() const


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


description: Gets the UI command info for this command

code: const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandInfo](API\Runtime\Slate\Framework\Commands\FUICommandInfo) > & GetUICommandInfo() const


code: static bool IsStaticMeshSelected()


code: static void Refresh ( FFractureToolContext & Context, [FFractureEditorModeToolkit](API\Plugins\FractureEditor\FFractureEditorModeToolkit) * Toolkit, bool bClearSelection )


code: static void Refresh ( [UGeometryCollectionComponent](API\Runtime\GeometryCollectionEngine\GeometryCollection\UGeometryCollect-) * Component, [FFractureEditorModeToolkit](API\Plugins\FractureEditor\FFractureEditorModeToolkit) * Toolkit, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SetSelection, bool bClearSelection, bool bMustUpdateBoneColors )


code: virtual void RegisterUICommand ( FFractureEditorCommands * BindingContext )


code: static void SetOutlinerComponents ( [TArray](API\Runtime\Core\Containers\TArray)< FFractureToolContext > & InContexts, [FFractureEditorModeToolkit](API\Plugins\FractureEditor\FFractureEditorModeToolkit) * Toolkit )


code: UFractureActionTool ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjInit )


className: UFractureActionTool

description: Tools derived from this class should require parameter inputs from the user, only the bone selection.

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

UICommandInfo

type: TSharedPtr<FUI...


description:
Lets each mode/tool handle box selection in its own way.
true if something was selected/deselected, false otherwise.

code: virtual bool BoxSelect ( FBox & InBox, bool InSelect )


description:
Allows an editor mode to override the bounding box used to focus the viewport on a selection
bool true if the mode overrides the box and populated InOutBox, false if it did not populate InOutBox

code: virtual bool ComputeBoundingBoxForViewportFocus ( [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, [UPrimitiveComponent](API\Runtime\Engine\Components\UPrimitiveComponent) * PrimitiveComponent, FBox & InOutBox ) const


code: virtual void CreateToolkit()


code: virtual void DrawHUD ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FCanvas](API\Runtime\Engine\FCanvas) * Canvas )


code: static const FEditorModeID EM_FractureEditorModeId = TEXT("EM_FractureEditorMode");


description:
Lets each mode/tool handle frustum selection in its own way.
true if something was selected/deselected, false otherwise.

code: virtual bool FrustumSelect ( const [FConvexVolume](API\Runtime\Engine\FConvexVolume) & InFrustum, [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * InViewportClient, bool InSelect )


description:
Lets each mode/tool specify a pivot point around which the camera should orbit
true if a custom pivot point was specified, false otherwise.

code: virtual bool GetPivotForOrbit ( FVector & OutPivot ) const


code: virtual bool HandleClick ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * InViewportClient, [HHitProxy](API\Runtime\Engine\HHitProxy) * HitProxy, const [FViewportClick](API\Editor\UnrealEd\FViewportClick) & Click )


code: virtual bool InputAxis ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * InViewportClient, [FViewport](API\Runtime\Engine\FViewport) * InViewport, int32 ControllerId, [FKey](API\Runtime\InputCore\FKey) Key, float Delta, float DeltaTime )


code: virtual bool InputKey ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, [FKey](API\Runtime\InputCore\FKey) Key, EInputEvent Event )


description:
Called to see if the context of the current undo/redo operation is a match for the client Default state matching old context-less undo is Context="" and PrimaryObject=NULL
True if client wishes to handle the undo/redo operation for this context. False otherwise

code: virtual bool MatchesContext ( const [FTransactionContext](API\Runtime\Core\Misc\FTransactionContext) & InContext, const [TArray](API\Runtime\Core\Containers\TArray)< TPair< [UObject](API\Runtime\CoreUObject\UObject\UObject) *, [FTransactionObjectEvent](API\Runtime\CoreUObject\Misc\FTransactionObjectEvent) >> & TransactionObjectContexts ) const


description: Signal that client should run any PostRedo code

code: virtual void PostRedo ( bool bSuccess )


description: Signal that client should run any PostUndo code

code: virtual void PostUndo ( bool bSuccess )


description: Used to update outliner when the selection hasn't change  needed because the outliner is not built yet whenEnter()is called TODO: We may be able to remove this function if we can find a way to invoke Enter's current selection-update logic after the outliner UI is built


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


code: virtual void Tick ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, float DeltaTime )


description: Helpers for FrustumSelect + to expose similar selection functionality to other code.

code: bool UpdateSelection ( const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & PreviousSelection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Bones, bool bAppend, bool bRemove )


code: bool UpdateSelectionInFrustum ( const [FConvexVolume](API\Runtime\Engine\FConvexVolume) & InFrustum, [AActor](API\Runtime\Engine\GameFramework\AActor) * Actor, bool bStrictDragSelection, bool bAppend, bool bRemove )


description: True if this mode uses a toolkit mode (eventually they all should)

code: virtual bool UsesToolkits() const


code: virtual ~UFractureEditorMode()


code: UFractureInteractiveTool ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjInit )


description: Helper for HandleClick, exposed to allow other code paths to handle clicks via the same code path.

code: bool SelectFromClick ( [HHitProxy](API\Runtime\Engine\HHitProxy) * HitProxy, bool bCtrlDown, bool bShiftDown )


className: UFractureEditorMode

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Transient) class UFractureEditorMode : public [UBaseLegacyWidgetEdMode](API\Editor\UnrealEd\Tools\UBaseLegacyWidgetEdMode), public [FEditorUndoClient](API\Editor\UnrealEd\FEditorUndoClient), public [ILegacyEdModeSelectInterface](API\Editor\UnrealEd\Tools\ILegacyEdModeSelectInterface)


code: virtual bool CanExecute() const


className: UFractureInteractiveTool

description: Tools derived from this class provide parameter details, operate modally and use a viewport manipulator to set certain parameters.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract) class UFractureInteractiveTool : public [UFractureModalTool](API\Plugins\FractureEditor\UFractureModalTool)


code: virtual void ClearVisualizations()


code: virtual void DrawHUD ( [FEditorViewportClient](API\Editor\UnrealEd\FEditorViewportClient) * ViewportClient, [FViewport](API\Runtime\Engine\FViewport) * Viewport, const [FSceneView](API\Runtime\Engine\FSceneView) * View, [FCanvas](API\Runtime\Engine\FCanvas) * Canvas )


description: Executes the command. Derived types need to be implemented in a thread safe way

code: virtual void Execute ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FFractureEditorModeToolkit](API\Plugins\FractureEditor\FFractureEditorModeToolkit) > InToolkit )


description: true if the edit will change the shape data of the geometry collection(s) (including changing the clusters)  used to indicate whether we need to update the convex hulls

code: virtual bool ExecuteUpdatesShape() const


code: void EnumerateVisualizationMapping ( const [FVisualizationMappings](API\Plugins\FractureEditor\FVisualizationMappings) & Mappings, int32 ArrayNum, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void(int32 Idx, FVector ExplodedVector)> Func ) const


description: Executes function that generates new geometry. Returns the first new geometry index.

code: virtual int32 ExecuteFracture ( const FFractureToolContext & FractureContext )


description: This is the Text that will appear on the button to execute the fracture

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


code: virtual void FractureContextChanged()


description: Call after changing properties internally in the tool to allow external views of the property to update properly. This is meant as an outward notification mechanism, not a way to to pass along notifications, so don't call this if the property is changed externally (i.e., this should not usually be called from OnPropertyModified unless the tool adds changes of its own).

code: virtual void NotifyOfPropertyChangeByTool ( [UFractureToolSettings](API\Plugins\FractureEditor\UFractureToolSettings) * PropertySet ) const


code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [UObject](API\Runtime\CoreUObject\UObject\UObject) * > GetSettingsObjects() const


description: Called when a selected geometry collection component is moved in the scene.

code: virtual void OnComponentTransformChanged ( [UGeometryCollectionComponent](API\Runtime\GeometryCollectionEngine\GeometryCollection\UGeometryCollect-) * Component )


code: virtual void OnTick ( float DeltaTime )


code: void OnComponentTransformChangedInternal ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * InRootComponent, ETeleportType Teleport )


className: OnToolPropertyInternallyModified

description: OnPropertyModifiedDirectlyByTool is broadcast when a property is changed internally by the tool. This allows any external display of such properties to update. In a DetailsView, for instance, it refreshes certain cached states such as edit condition states for other properties.

code: typedef TMulticastDelegate_OneParam< void, [UObject](API\Runtime\CoreUObject\UObject\UObject) * > OnToolPropertyInternallyModified


description: Call to override editor view flags to disable temporal AA and motion blur, which make the lines look bad.


description: This alternate version of PostEditChange is called when properties inside structs are modified. The property that was actually modified is located at the tail of the list. The head of the list of theFStructPropertymember variable that contains the property that was modified.

code: virtual void PostEditChangeChainProperty ( struct [FPropertyChangedChainEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedChainEvent) & PropertyChangedEvent )


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: Optional processing after a successful fracture (i.e., will not be called if ExecuteFracture returns INDEX_NONE)

code: virtual void PostFractureProcess ( const FFractureToolContext & FractureContext, int32 FirstNewGeometryIndex )


description: Draw callback from edmode

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


description: Restore editor view flags.

code: void RestoreEditorViewFlags()


description: Called when the selection changes, and when the modal tool is entered.

code: virtual void SelectedBonesChanged()


description: Called when the modal tool is entered.

code: virtual void Setup ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [FFractureEditorModeToolkit](API\Plugins\FractureEditor\FFractureEditorModeToolkit) > InToolkit )


description: Called when the modal tool is exited (on switching to a new modal tool or exiting the fracture editor mode)

code: virtual void Shutdown()


code: UFractureModalTool ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjInit )


className: UFractureModalTool

description: Tools derived from this class provide parameter details and operate modally.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract) class UFractureModalTool : public [UFractureActionTool](API\Plugins\FractureEditor\UFractureActionTool)

OnPropertyModifiedDirectlyByTool

type: OnToolPropertyI...

VisualizedCollections

type: TArray<TObject...

description: Geometry collection components referenced by visualizations.


description: Gets the category for the settings, some high level grouping like, Editor, Engine, Game...etc.

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


description: Gets the settings container name for the settings, either Project or Editor

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


description: Gets the description for the section, uses the classes ToolTip by default.

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


description: The unique name for your section of settings, uses the class'sFName.

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


description: Gets the section text, uses the classes DisplayName by default.

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


className: UFractureModeCustomizationSettings

SectionColors

type: TArray<FFractu...

description: Custom Section Header Colors for listed Sections in the Fracture Mode Tool Palette

ToolColors

description: Custom Tool Colors for listed Tools in the Fracture Mode Tool Palette.

ToolFavorites

type: TArray<FString...

description: Tool Names listed in the array below will appear in a Favorites section at the top of the Fracture Mode Tool Palette

ToolSectionOrder

description: Add the names of Fracture Mode Tool Palette Sections to have them appear at the top of the Tool Palette, in the order listed below.


description: Apply Convex Generation Defaults to a GeometryCollection.

code: void ApplyDefaultConvexSettings ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection ) const


description: Apply Proximity Detection Defaults to a GeometryCollection.

code: void ApplyDefaultProximitySettings ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection ) const


description: Apply all default settings to a GeometryCollection.

code: void ApplyDefaultSettings ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection ) const


description: UObjectinterface

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


className: UFractureModeSettings

description: Settings for the Fracture Editor Mode.

bProximityUseAsConnectionGraph

description: Whether to automatically transform the proximity graph into a connection graph to be used for simulation

ConvexCanExceedFraction

type: float

description: Default fraction of geometry volume by which a cluster's convex hull volume can exceed the actual geometry volume before instead using the hulls of the children.

ConvexFractionAllowRemove

type: double

description: Default fraction of convex hulls for a transform that we can remove before using the hulls of the children

ConvexOverlapRemovalShrinkPercent

description: Default overlap removal shrink percent (in range 0-100) for convex hulls of new geometry collections.

ConvexRemoveOverlaps

type: EConvexOverlapR...

description: Default overlap removal setting for convex hulls of new geometry collections

ConvexSimplificationDistanceThreshold

description: Default simplification threshold for convex hulls of new geometry collections

NewAssetLocation

type: EFractureModeNe...

description: The default asset folder presented when using the "New" tool to create a Geometry Collection in Fracture Mode

OnModified

type: UFractureModeSe...

ProximityConnectionContactAreaMethod

type: EConnectionCont...

description: Method to use to determine the area of the contact for transforms that are connected in the connection graph used for simulation. Only used if "Use As Connection Graph" is enabled.

ProximityContactMethod

type: EProximityConta...

description: Method to use to determine the contact between two pieces, if the Contact Threshold is greater than 0, for the purpose of filtering out too-small contacts.

ProximityContactThreshold

description: If greater than zero, proximity will be additionally filtered by a 'contact' threshold, in cm, to exclude grazing / corner proximity.

ProximityDistanceThreshold

description: When Proximity Detection Method is Convex Hull, how close two hulls need to be to be considered as 'in proximity'

ProximityMethod

type: EProximityMetho...

description: Default method used to detect proximity of geometry in a new geometry collection


className: UFractureModeSettingsModified

code: typedef TMulticastDelegate_TwoParams< void, [UObject](API\Runtime\CoreUObject\UObject\UObject) *, [FProperty](API\Runtime\CoreUObject\UObject\FProperty) * > UFractureModeSettingsModified


code: UFractureSettings ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjInit )


className: UFractureSettings

description: Settings specifically related to viewing fractured meshes

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

bHideUnselected

description: When active, only show selected bones

ExplodeAmount

description: Amount to expand the displayed Geometry Collection bones into an 'exploded view'

FractureLevel

description: Current level of the Geometry Collection displayed

RestCollection

type: TWeakObjectPtr<...


description: This alternate version of PostEditChange is called when properties inside structs are modified. The property that was actually modified is located at the tail of the list. The head of the list of theFStructPropertymember variable that contains the property that was modified.

code: virtual void PostEditChangeChainProperty ( struct [FPropertyChangedChainEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedChainEvent) & PropertyChangedEvent )


code: UFractureToolSettings ( const [FObjectInitializer](API\Runtime\CoreUObject\UObject\FObjectInitializer) & ObjInit )


description: Called when a property on this object has been modified externally


className: UFractureToolSettings

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, Config=EditorPerProjectUserSettings) class UFractureToolSettings : public [UObject](API\Runtime\CoreUObject\UObject\UObject)

OwnerTool

type: TObjectPtr<UFr...


className: EConvexHullSimplifyMethod

module: FractureEngine

code: enum EConvexHullSimplifyMethod { MeshQSlim, AngleTolerance, }


className: EFractureEngineClusterSizeMethod

code: enum EFractureEngineClusterSizeMethod { ByNumber, ByFractionOfInput, BySize, ByGrid, }


code: static void AutoCluster ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & BoneIndices, const [EFractureEngineClusterSizeMethod](API\Plugins\FractureEngine\EFractureEngineClusterSizeMethod) ClusterSizeMethod, const uint32 SiteCount, const float SiteCountFraction, const float SiteSize, const bool bEnforceConnectivity, const bool bAvoidIsolated, const bool bEnforceSiteParameters, const int32 GridX, const int32 GridY, const int32 GridZ, const float MinimumClusterSize, const int32 KMeansIterations )


code: static void AutoCluster ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, const int32 ClusterIndex, const [EFractureEngineClusterSizeMethod](API\Plugins\FractureEngine\EFractureEngineClusterSizeMethod) ClusterSizeMethod, const uint32 SiteCount, const float SiteCountFraction, const float SiteSize, const bool bEnforceConnectivity, const bool bAvoidIsolated, const bool bEnforceSiteParameters, const int32 GridX, const int32 GridY, const int32 GridZ, const float MinimumClusterSize, const int32 KMeansIterations )


description:
Cluster the chosen transform indices (and update the selection array to remove any that were not clustered, i.e. invalid or root transforms)
true if the GeometryCollection was updated

code: static bool ClusterSelected ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InOutSelection )


code: static [TArray](API\Runtime\Core\Containers\TArray)< FVector > GenerateGridSites ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & BoneIndices, const int32 GridX, const int32 GridY, const int32 GridZ )


code: static [TArray](API\Runtime\Core\Containers\TArray)< FVector > GenerateGridSites ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, const int32 ClusterIndex, const int32 GridX, const int32 GridY, const int32 GridZ, FBox * OutBounds )


description: Merge selected clusters. Non-clusters in the selection are converted to the closest (parent) clusters. On success, returns true and InOutSelection holds the index of the cluster to which the selection was merged.

code: static bool MergeSelectedClusters ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InOutSelection )


className: FFractureEngineClustering

code: class FFractureEngineClustering


code: static void DeleteBranch ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InBoneSelection )


code: static void Merge ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InBoneSelection )


code: static void SetVisibilityInCollectionFromTransformSelection ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InCollection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InTransformSelection, bool bVisible )


code: static void SetVisibilityInCollectionFromFaceSelection ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InCollection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InFaceSelection, bool bVisible )


className: FFractureEngineEdit

code: class FFractureEngineEdit


className: FFractureEngineEmbed

code: class FFractureEngineEmbed


code: static void GenerateExplodedViewAttribute ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InOutCollection, const FVector & InScale, float InUniformScale )


code: static void PlaneCutter ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InOutCollection, const [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & InTransformSelection, const FBox & InBoundingBox, int32 InNumPlanes, float InRandomSeed, float InGrout, float InAmplitude, float InFrequency, float InPersistence, float InLacunarity, int32 InOctaveNumber, float InPointSpacing, bool InAddSamplesForCollision, float InCollisionSampleSpacing )


code: static void VoronoiFracture ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InOutCollection, const [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & InTransformSelection, const [TArray](API\Runtime\Core\Containers\TArray)< FVector > & InSites, float InRandomSeed, float InChanceToFracture, bool InGroupFracture, float InGrout, float InAmplitude, float InFrequency, float InPersistence, float InLacunarity, int32 InOctaveNumber, float InPointSpacing, bool InAddSamplesForCollision, float InCollisionSampleSpacing )


className: FFractureEngineFracturing

code: class FFractureEngineFracturing


code: static void SetMaterial ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InCollection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & InBoneSelection, [ETargetFaces](API\Plugins\FractureEngine\FFractureEngineMaterials\ETargetFaces) TargetFaces, int32 MaterialID )


className: ETargetFaces

code: enum ETargetFaces { InternalFaces, ExternalFaces, AllFaces, }


code: static void SetMaterialOnAllGeometry ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InCollection, [ETargetFaces](API\Plugins\FractureEngine\FFractureEngineMaterials\ETargetFaces) TargetFaces, int32 MaterialID )


code: static void SetMaterialOnGeometryAfter ( [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & InCollection, int32 FirstGeometryIndex, [ETargetFaces](API\Plugins\FractureEngine\FFractureEngineMaterials\ETargetFaces) TargetFaces, int32 MaterialID )


className: FFractureEngineMaterials

code: class FFractureEngineMaterials


code: static void GetRootBones ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & RootBonesOut )


code: static void GetRootBones ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection )


code: static bool IsBoneSelectionValid ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


code: static bool IsSelectionValid ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedItems, const [FName](API\Runtime\Core\UObject\FName) ItemGroup )


code: static void SelectByPercentage ( [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones, const int32 Percentage, const bool Deterministic, const float RandomSeed )


code: static void SelectBySize ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones, const float SizeMin, const float SizeMax )


code: static void SelectBySize ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection, const float SizeMin, const float SizeMax )


code: static void SelectByVolume ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones, const float VolumeMin, const float VolumeMax )


code: static void SelectByVolume ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection, const float VolumeMin, const float VolumeMax )


code: static void SelectChildren ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


code: static void SelectChildren ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection )


code: static void SelectCluster ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


code: static void SelectByPercentage ( [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection, const int32 Percentage, const bool Deterministic, const float RandomSeed )


code: static void SelectCluster ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection )


code: static void SelectContact ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


code: static void SelectContact ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection )


code: static void SelectLeaf ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


code: static void SelectLeaf ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) & GeometryCollection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection )


code: static void SelectLevel ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


code: static void SelectLevel ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection )


code: static void SelectParent ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


code: static void SelectParent ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection )


code: static void SelectSiblings ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & SelectedBones )


code: static void SelectSiblings ( const [FManagedArrayCollection](API\Runtime\Chaos\GeometryCollection\FManagedArrayCollection) & Collection, [FDataflowTransformSelection](API\Runtime\DataflowCore\Dataflow\FDataflowTransformSelection) & TransformSelection )


className: FFractureEngineSelection

code: class FFractureEngineSelection


description: Creates a mesh from vertex and triangle data

code: static void ConstructMesh ( [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & OutMesh, const [TArray](API\Runtime\Core\Containers\TArray)< FVector3f > & InVertices, const [TArray](API\Runtime\Core\Containers\TArray)< FIntVector > & InTriangles )


description: Outputs the vertex and triangle data of a FBox into OutVertices and OutTriangles

code: static void ConvertBoxToVertexAndTriangleData ( const FBox & InBox, [TArray](API\Runtime\Core\Containers\TArray)< FVector3f > & OutVertices, [TArray](API\Runtime\Core\Containers\TArray)< FIntVector > & OutTriangles )


description: Outputs the vertex and triangle data of a mesh into OutVertices and OutTriangles

code: static void DeconstructMesh ( const [UE::Geometry::FDynamicMesh3](API\Runtime\GeometryCore\DynamicMesh\FDynamicMesh3) & InMesh, [TArray](API\Runtime\Core\Containers\TArray)< FVector3f > & OutVertices, [TArray](API\Runtime\Core\Containers\TArray)< FIntVector > & OutTriangles )


className: FFractureEngineUtility

code: class FFractureEngineUtility


className: FSimplifyHullSettings

description: Options to control the simplification of an existing convex hull.

code: struct FSimplifyHullSettings

bUseExistingVertexPositions

type: bool

SimplifyMethod

type: EConvexHullSimp...


code: static FBox GenerateBounds ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) * GeometryCollection, int32 TransformIndex )


code: int32 GetIsolatedPartitionCount() const


code: int32 GetNonEmptyPartitionCount() const


description: Return the GeometryCollection TranformIndices within the partition.

code: [TArray](API\Runtime\Core\Containers\TArray)< int32 > GetPartition ( int32 PartitionIndex ) const


code: int32 GetPartitionCount() const


description: Cluster bodies into k partitions using K-Means. Connectivity is ignored: only spatial proximity is considered.

code: void KMeansPartition ( int32 InPartitionCount, int32 MaxIterations, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const FVector > InitialCenters )


description: Merge any partitions w/ only 1 body into a connected, neighboring partition (if any). This can decrease the number of partitions below the desired count.

code: void MergeSingleElementPartitions ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) * GeometryCollection )


description: Merge any too-small partitions into a connected, neighboring partition (if any). This can decrease the number of partitions below the desired count.

code: void MergeSmallPartitions ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) * GeometryCollection, float PartitionSizeThreshold )


description: Split any partition islands into their own partition. This will possbily increase number of partitions to exceed desired count.

code: void SplitDisconnectedPartitions ( [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) * GeometryCollection )


code: FVoronoiPartitioner ( const [FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) * GeometryCollection, int32 ClusterIndex )


className: FVoronoiPartitioner

code: class FVoronoiPartitioner


description:
Singleton-like access to this module's interface. This is just for convenience! Beware of calling this during the shutdown phase, though. Your module might have been unloaded already.
Returns singleton instance, loading the module on demand if needed

code: static [IFractureEnginePlugin](API\Plugins\FractureEngine\IFractureEnginePlugin) & Get()


description:
Checks to see if this module is loaded and ready. It is only valid to callGet()ifIsAvailable()returns true.
True if the module is loaded and ready to use

code: static bool IsAvailable()


className: IFractureEnginePlugin

description: The public interface to this module

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


className: EConstraintType

module: FullBodyIK

code: enum EConstraintType { Transform, Aim, MAX, Free, Limit, Locked, }


className: EFBIKBoneLimitType

code: enum EFBIKBoneLimitType { Free, Limit, Locked, }


className: EPoleVectorOption

code: enum EPoleVectorOption { Direction, Location, }


className: FCalculatePartialDerivativesDelegate

description: Delegates for core library to use to calculate partial derivatives

code: typedef TBaseDelegate_SixParams< FVector, const [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) &, bool, int32, const [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) &, bool, const [FSolverParameter](API\Plugins\FullBodyIK\FSolverParameter) & > FCalculatePartialDerivativesDelegate


className: FCalculateTargetVectorDelegate

description: Delegates for core library to use to calculate target vector for end effectors

code: typedef TBaseDelegate_FourParams< FVector, const [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) &, const [FFBIKEffectorTarget](API\Plugins\FullBodyIK\FFBIKEffectorTarget) &, bool, const [FSolverParameter](API\Plugins\FullBodyIK\FSolverParameter) & > FCalculateTargetVectorDelegate


className: FFBIKBoneLimit

Limit

type: FVector

description: Currently no negative limit, for position we may need min/max

type: EFBIKBoneLimitT...


code: bool IsAngularlyLimited() const


code: bool IsLinearlyLimited() const


className: FFBIKConstraintOption

AngularLimit

type: FFBIKBoneLimit

description: Angular delta limit of this joints local transform. [-Limit, Limit]

AngularStiffness

description: Scale of [0, 1] and applied to angular motion strength, xyz is applied to twist, swing1, swing2

Item

type: FRigElementKey

description: Bone Name

LinearStiffness

description: Scale of [0, 1] and applied to linear motion strength - linear stiffness works on their local frame

OffsetRotation

type: FRotator

description: This is offset rotation applied when constructing the local frame

PoleVector

description: Pole Vector in their local space

PoleVectorOption

type: EPoleVectorOpti...


className: FFBIKDebugOption

bColorAngularMotionStrength

description: Use red channel

bColorLinearMotionStrength

description: Use green channel

DrawSize

type: float

DrawWorldOffset

type: FTransform


code: float GetCurrentLength() const


className: FFBIKEffectorTarget

code: struct FFBIKEffectorTarget

AdjustedLength

description: This is to support UpdateClamp for each iteration we recalculate the adjusted value and apply

bPositionEnabled

description: Position Target

bRotationEnabled

description: Rotation Target

ChainLength

description: Total chain length of this effector from root. Used when clamping

ConvergeScale

description: This is applied when testing converge to see if the effector is reached to target or not This allows to look of pull or reach based on this value

InitialRotationDistance

description: Initial distance prior to solver iteration from effetor to target - currently not used to avoid having another precision value for input that is difficult to estimate

LinearMotionStrength

description: This strength is applied to how strong this effector target is If you want the position to be more effective, you can increase this to be more precise and lower if you want less.

LinkChain

type: TArray< int32 >

description: Save list of chain it affects

Rotation

type: FQuat

TargetClampScale

description: ClampScale to target. Helps to stablize the target


code: void AddMotionBase ( const [FMotionBase](API\Plugins\FullBodyIK\FMotionBase) & InLinkAxis )


description: This is with

code: void AddMotionStrength ( float InLinearScale, float InAngularScale )


code: const [FMotionBase](API\Plugins\FullBodyIK\FMotionBase) & GetMotionBase ( int32 Index ) const


code: float GetLinearMotionStrength() const


code: [FMotionBase](API\Plugins\FullBodyIK\FMotionBase) & GetMotionBase ( int32 Index )


code: int32 GetNumMotionBases() const


code: const FTransform & GetPreviousTransform() const


code: const FVector & GetRotationAxis ( int32 Index ) const


code: float GetAngularMotionStrength() const


code: const FTransform & GetTransform() const


description: Return true if any of my motion bases allow angular motion

code: bool IsAngularMotionAllowed() const


description: Return true if any specific motion base by index allows linear motion

code: bool IsAngularMotionAllowed ( int32 BaseIndex ) const


description: Return true if any of my motion bases allow linear motion

code: bool IsLinearMotionAllowed() const


code: bool IsLinearMotionAllowed ( int32 BaseIndex ) const


code: void SetTransform ( const FTransform & InTransform )


className: FFBIKLinkData

code: struct FFBIKLinkData

LocalFrame

description: Local frame - ideally we can make this to be angular vs linear different, but for now we just have one frame


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

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


className: FJacobianDebugData

description: This is debug structure for editing time

code: struct FJacobianDebugData

LinkData

type: TArray<FFBIKLi...

TargetVectors

type: TArray< FVector...

TargetVectorSources

type: TArray< FTransf...

description: Should match # of effectors


description: Initialize Solver - allows users to modify data before running the base solver - Check Below

code: virtual void InitializeSolver ( [TArray](API\Runtime\Core\Containers\TArray)< [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) > & InOutLinkData, [TMap](API\Runtime\Core\Containers\TMap)< int32, [FFBIKEffectorTarget](API\Plugins\FullBodyIK\FFBIKEffectorTarget) > & InOutEndEffectors ) const


description: Pre Solve - for each iteration, they run PreSolve. For each iteration, they may require to update info based on previous solved pose

code: virtual void PreSolve ( [TArray](API\Runtime\Core\Containers\TArray)< [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) > & InOutLinkData, const [TMap](API\Runtime\Core\Containers\TMap)< int32, [FFBIKEffectorTarget](API\Plugins\FullBodyIK\FFBIKEffectorTarget) > & InEndEffectors ) const


code: void SetPostProcessDelegateForIteration ( [FPostProcessDelegateForIteration](API\Plugins\FullBodyIK\FPostProcessDelegateForIteration) InDelegate )


code: bool SolveJacobianIK ( [TArray](API\Runtime\Core\Containers\TArray)< [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) > & InOutLinkData, const [TMap](API\Runtime\Core\Containers\TMap)< int32, [FFBIKEffectorTarget](API\Plugins\FullBodyIK\FFBIKEffectorTarget) > & InEndEffectors, const [FSolverParameter](API\Plugins\FullBodyIK\FSolverParameter) & InSolverParameter, int32 IterationCount, float Tolerance, [TArray](API\Runtime\Core\Containers\TArray)< [FJacobianDebugData](API\Plugins\FullBodyIK\FJacobianDebugData) > * DebugData )


code: virtual ~FJacobianSolverBase()


className: FJacobianSolverBase

description: Bydefault, we use JPIDLS, but it is cheaper to use Jacobian Transpose at the cost of solver

code: class FJacobianSolverBase

OnCalculatePartialDerivativesDelegate

type: FCalculateParti...

OnCalculateTargetVectorDelegate

type: FCalculateTarge...

OnPostProcessDelegateForIteration

type: FPostProcessDel...


code: class FJacobianSolver_FullbodyIK : public [FJacobianSolverBase](API\Plugins\FullBodyIK\FJacobianSolverBase)


description: This support positional and rotational target using 3 different axis (default coordinate in world space - xyz axis)

code: class FJacobianSolver_PositionRotationTarget_3DOF : public [FJacobianSolver_PositionTarget_3DOF](API\Plugins\FullBodyIK\FJacobianSolver_PositionTarget_3-)


description: This support positional/rotational target using custom frame provided by user. If you want to create custom frame for stiffness.

code: class FJacobianSolver_PositionRotationTarget_LocalFrame : public [FJacobianSolverBase](API\Plugins\FullBodyIK\FJacobianSolverBase)


description: This support position/rotation target using quaternion instead of 3 world axis This creates rotation axis using effector target of known (https://cseweb.ucsd.edu/classes/sp16/cse169-a/slides/CSE169_09.pdf)

code: class FJacobianSolver_PositionRotationTarget_Quat : public [FJacobianSolver_PositionTarget_Quat](API\Plugins\FullBodyIK\FJacobianSolver_PositionTarget_Q-)


description: The solver name indicates what target they support, and what motion it supports This support positional target using 3 different axis (default coordinate in world space - xyz axis)

code: class FJacobianSolver_PositionTarget_3DOF : public [FJacobianSolverBase](API\Plugins\FullBodyIK\FJacobianSolverBase)


description: This support positional target using 3 different axis by translating joint (default coordinate in world space - xyz axis)

code: class FJacobianSolver_PositionTarget_3DOF_Translation : public [FJacobianSolver_PositionTarget_3DOF](API\Plugins\FullBodyIK\FJacobianSolver_PositionTarget_3-)


description: This support positional target using quaternion instead of 3 world axis This creates rotation axis using effector target of known (https://cseweb.ucsd.edu/classes/sp16/cse169-a/slides/CSE169_09.pdf)

code: class FJacobianSolver_PositionTarget_Quat : public [FJacobianSolverBase](API\Plugins\FullBodyIK\FJacobianSolverBase)


description: This support rotational target using 3 different axis (default coordinate in world space - xyz axis)

code: class FJacobianSolver_RotationTarget_3DOF : public [FJacobianSolver_PositionTarget_3DOF](API\Plugins\FullBodyIK\FJacobianSolver_PositionTarget_3-)


description: This support rotation target using quaternion instead of 3 world axis This creates rotation axis using effector target of known (https://cseweb.ucsd.edu/classes/sp16/cse169-a/slides/CSE169_09.pdf)

code: class FJacobianSolver_RotationTarget_Quat : public [FJacobianSolverBase](API\Plugins\FullBodyIK\FJacobianSolverBase)


code: float GetAngularMotionScale() const


code: float GetAngularStiffness() const


code: float GetLinearMotionScale() const


code: float GetLinearStiffness() const


code: bool IsAngularMotionAllowed() const


code: bool IsLinearMotionAllowed() const


code: void SetAngularStiffness ( float InStiffness )


code: void SetLinearStiffness ( float InStiffness )


code: FMotionBase ( const FVector & InBaseAxis )


className: FMotionBase

code: struct FMotionBase

BaseAxis

description: Rotation axis that this motion represents


code: bool ApplyConstraint ( [TArray](API\Runtime\Core\Containers\TArray)< [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) > & InOutLinkData, [TArray](API\Runtime\Core\Containers\TArray)< FTransform > & InOutLocalTransforms )


code: FVector CalculateCurrentPoleVectorDir ( const FTransform & ParentTransform, const FTransform & BoneTransform, const FTransform & ChildTransform, const FQuat & LocalFrame ) const


className: FPoleVectorConstraint

code: struct FPoleVectorConstraint

bUseLocalDir

type: bool

description: If you use local dir, it will be local dir and will be calculated based on local frame every time if not, it will interpret PoleVector as a target location in the space (global space)


className: FPositionLimitConstraint

code: struct FPositionLimitConstraint

bXLimitSet

type: uint8:  1

description: Xyz

Limit

type: FVector

RelativelRefPose

description: Frame of reference for this


className: FPostProcessDelegateForIteration

description: Post processor for each iteration after resolving the pose This will be used for Applying Constraints, but if you have more you want to do, you can customize this

code: typedef TBaseDelegate_OneParam< void, [TArray](API\Runtime\Core\Containers\TArray)< [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) > & > FPostProcessDelegateForIteration


className: FRotationLimitConstraint

code: struct FRotationLimitConstraint

BaseFrameOffset

description: Frame of reference for this

bXLimitSet

description: Xyz - twist/swing1/swing2


className: FSolverInput

AngularMotionStrength

description: This value is applied to the target information for effectors, which influence back to Joint's motion that are affected by the end effector The reason min/max is used when we apply the depth through the chain that are affected

bUseJacobianTranspose

description: Cheaper solution than default Jacobian Pseudo Inverse Damped Least Square

Damping

description: The precision to use for the fabrik solver

DefaultTargetClamp

description: This is a scale value (range from 0-0.7) that is used to stablize the target vector.

MaxIterations

description: The maximum number of iterations. Values between 4 and 16 are common.

Precision

description: The precision to use for the solver


code: FSolverParameter ( float InDampingValue, bool bInClampToTarget, bool bInUpdateClampMagnitude, [EJacobianSolver](API\Plugins\FullBodyIK\JacobianIK__EJacobianSolver) InJacobianSolver )


className: FSolverParameter

code: struct FSolverParameter

bClampToTarget

type: bool:  1

description: Enable clamping scale to target

bUpdateClampMagnitude

description: Update clamping length for each iteration based on how much it moved from previous iteration

DampingValue

description: Damping allows solver to reduce oscillation but it increase iteration time to converge

JacobianSolver

type: EJacobianSolver

description: Which solver to use


code: namespace JacobianIK { void JacobianIK::AllocateMatrix ( Eigen::MatrixXf & InOutMatrix, const [TArray](API\Runtime\Core\Containers\TArray)< [FFBIKLinkData](API\Plugins\FullBodyIK\FFBIKLinkData) > & InLinkData, int32 NumLinkComponent, const [TMap](API\Runtime\Core\Containers\TMap)< int32, [FFBIKEffectorTarget](API\Plugins\FullBodyIK\FFBIKEffectorTarget) > & InEndEffectors, int32 NumEffectorComponent ) }


code: namespace JacobianIK { enum EJacobianSolver { JacobianTranspose, JacobianPIDLS, } }


code: namespace JacobianIK { enum ERotationAxis { Twist, Swing1, Swing2, } }


className: AEditorFunctionalTest

description: Editor-only version of functional test actor, tests that call editor-only blueprints must inherit from this class

module: FunctionalTestingEditor

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Blueprintable, MinimalAPI) class AEditorFunctionalTest : public [AFunctionalTest](API\Developer\FunctionalTesting\AFunctionalTest)


className: AEditorScreenshotFunctionalTest

description: Editor-only version of screenshot functional test

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Blueprintable, MinimalAPI) class AEditorScreenshotFunctionalTest : public [AScreenshotFunctionalTest](API\Developer\FunctionalTesting\AScreenshotFunctionalTest)


description: Called before the module is unloaded, right before the module object is destroyed.

code: void ShutdownModule()


description: Called right after the module DLL has been loaded and the module object has been created

code: void StartupModule()


className: IFunctionalTestingEditorModule

description: A module for adding automation exposure in the editor

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


className: EBuiltInAutoState

module: GameFeatures

code: enum EBuiltInAutoState { Invalid, Installed, Registered, Loaded, Active, }


className: EGameFeaturePluginProtocol

code: enum EGameFeaturePluginProtocol { File, InstallBundle, Unknown, Count, }


className: EGameFeatureTargetState

code: enum EGameFeatureTargetState { Installed, Registered, Loaded, Active, Count, }


className: FBuiltInGameFeaturePluginsLoaded

code: typedef TBaseDelegate_OneParam< void, const [TMap](API\Runtime\Core\Containers\TMap)< [FString](API\Runtime\Core\Containers\FString),[UE::GameFeatures::FResult](API\Plugins\GameFeatures\FResult) > & > FBuiltInGameFeaturePluginsLoaded


className: FDataRegistrySourceToAdd

description: Defines which source assets to add and conditions for adding

AssetPriority

description: Priority to use when adding to the registry. Higher priorities are searched first

bClientSource

description: Should this component be added for clients

bServerSource

description: Should this component be added on servers

CurveTableToAdd

type: TSoftObjectPtr<...

description: Link to the curve table to add to the registry

DataTableToAdd

description: Link to the data table to add to the registry

RegistryToAddTo

type: FName

description: Name of the registry to add to


className: EVisitState

code: enum EVisitState { None, Visiting, Visited, }


description: Find and sort all dependencies  RootPlugins set of root plugins  AddOutput callback to receive roots and dependencies, called in dependency order  false if there is an error or a cyclic dependency is discovered

code: bool Sort ( TConstArrayView< [FName](API\Runtime\Core\UObject\FName) > RootPlugins, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FName](API\Runtime\Core\UObject\FName))> AddOutput )


description: Find and sort all dependencies  GetNextRootPlugin function that iterates plugins in the root set, returning None after the final plugin in the set.  AddOutput callback to receive roots and dependencies, called in dependency order  false if there is an error or a cyclic dependency is discovered

code: bool Sort ( [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< [FName](API\Runtime\Core\UObject\FName)()> GetNextRootPlugin, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FName](API\Runtime\Core\UObject\FName))> AddOutput )


code: bool Sort ( [FName](API\Runtime\Core\UObject\FName) RootPlugin, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< void([FName](API\Runtime\Core\UObject\FName))> AddOutput )


description: Find and sort all dependencies  RootPlugins set of root plugins  OutPlugins roots and dependencies in dependency order  false if there is an error or a cyclic dependency is discovered

code: bool Sort ( TConstArrayView< [FName](API\Runtime\Core\UObject\FName) > RootPlugins, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & OutPlugins )


code: bool Sort ( [FName](API\Runtime\Core\UObject\FName) RootPlugin, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & OutPlugins )


description: Constructor  InGfpInfoMap Map containing plugin dependencies (FDepthFirstGameFeatureSorterpoints to this map, it is not copied)

code: FDepthFirstGameFeatureSorter ( const [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FGameFeaturePluginInfo](API\Plugins\GameFeatures\FGameFeaturePluginInfo) > & InGfpInfoMap )


className: FDepthFirstGameFeatureSorter

description: Finds plugin dependencies and returns them in dependency order (reverse topological sort order)

code: class FDepthFirstGameFeatureSorter


className: FErrorCodeType

description: Type used to determine if ourFResultis actually an error or success (and hold the error code)

code: typedef [TValueOrError](API\Runtime\Core\Math\TValueOrError)< void, [FString](API\Runtime\Core\Containers\FString) > FErrorCodeType


className: FGameFeatureActivatingContext

description: Context that provides extra information for activating a game feature

code: struct FGameFeatureActivatingContext : public [FGameFeatureStateChangeContext](API\Plugins\GameFeatures\FGameFeatureStateChangeContext)


code: FGameFeatureComponentEntry()


className: FGameFeatureComponentEntry

description: Description of a component to add to a type of actor when this game feature is enabled (the actor class must be game feature aware, it does not happen magically)

ActorClass

type: TSoftClassPtr< ...

description: The base actor class to add a component to.

bClientComponent

type: uint8: 1

description: Should this component be added for clients.

bServerComponent

description: Should this component be added on servers.

ComponentClass

description: The component class to add to the specified type of actor.


description: Deprecated* Use tagged version instead


description: Call this if your observer has an asynchronous action to complete as part of shutdown, and invoke the returned delegate when you are done (on the game thread!)

code: FSimpleDelegate PauseDeactivationUntilComplete ( [FString](API\Runtime\Core\Containers\FString) InPauserTag )


description: Deprecated* Use tagged version instead

code: FGameFeatureDeactivatingContext ( FSimpleDelegate && InCompletionDelegate )


code: FGameFeatureDeactivatingContext ( FStringView InPluginName, [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void(FStringView InPauserTag)> && InCompletionCallback )


className: FGameFeatureDeactivatingContext

description: Context that provides extra information for deactivating a game feature, will use the same change context rules as the activating context

code: struct FGameFeatureDeactivatingContext : public [FGameFeatureStateChangeContext](API\Plugins\GameFeatures\FGameFeatureStateChangeContext)


description: Returns anFStringdescription of why the state has paused work.

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


description: Returns anFStringdescription of what state has issued the pause change

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


description: Returns true if the State has paused or false if it is resuming

code: bool IsPaused() const


code: FGameFeaturePauseStateChangeContext ( [FString](API\Runtime\Core\Containers\FString) PauseStateNameIn, [FString](API\Runtime\Core\Containers\FString) PauseReasonIn, bool bIsPausedIn )


className: FGameFeaturePauseStateChangeContext

description: Context that provides extra information for a game feature changing its pause state

code: struct FGameFeaturePauseStateChangeContext : public [FGameFeatureStateChangeContext](API\Plugins\GameFeatures\FGameFeatureStateChangeContext)


className: FGameFeaturePluginChangeStateComplete

description: Notification that a game feature plugin install/register/load/unload has finished

code: typedef TBaseDelegate_OneParam< void, const [UE::GameFeatures::FResult](API\Plugins\GameFeatures\FResult) & > FGameFeaturePluginChangeStateComplete


className: FGameFeaturePluginDeactivateComplete


className: FGameFeaturePluginDetails

code: struct FGameFeaturePluginDetails

AdditionalMetadata

type: TMap<FString, ...

BuiltInAutoState

type: EBuiltInAutoSta...

PluginDependencies

type: TArray<FString...


description: Returns true if thisFGameFeaturePluginIdentifierexactly matches the given PluginURL. To match exactly all information in the PluginURL has to match and not just the IdentifyingURLSubset

code: bool ExactMatchesURL ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL ) const


description: Function that fills out IdentifyingURLSubset from the given PluginURL

code: void FromPluginURL ( [FString](API\Runtime\Core\Containers\FString) PluginURL )


description: Get the Full PluginURL used to originally construct this identifier

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


description: Returns the Identifying information used for this Plugin. It is a subset of the URL used to create it.


code: [FGameFeaturePluginIdentifier](API\Plugins\GameFeatures\FGameFeaturePluginIdentifier) & operator= ( const [FGameFeaturePluginIdentifier](API\Plugins\GameFeatures\FGameFeaturePluginIdentifier) & Other )


code: [FGameFeaturePluginIdentifier](API\Plugins\GameFeatures\FGameFeaturePluginIdentifier) & operator= ( [FGameFeaturePluginIdentifier](API\Plugins\GameFeatures\FGameFeaturePluginIdentifier) && Other )


description: Used to determine if 2 FGameFeaturePluginIdentifiers are referencing the same GameFeaturePlugin. Only matching on Identifying information instead of all the optional bundle information

code: bool operator== ( const [FGameFeaturePluginIdentifier](API\Plugins\GameFeatures\FGameFeaturePluginIdentifier) & Other ) const


code: FGameFeaturePluginIdentifier()


code: FGameFeaturePluginIdentifier ( [FString](API\Runtime\Core\Containers\FString) PluginURL )


code: FGameFeaturePluginIdentifier ( const [FGameFeaturePluginIdentifier](API\Plugins\GameFeatures\FGameFeaturePluginIdentifier) & Other )


code: FGameFeaturePluginIdentifier ( [FGameFeaturePluginIdentifier](API\Plugins\GameFeatures\FGameFeaturePluginIdentifier) && Other )


className: FGameFeaturePluginIdentifier

description: Struct used to transform a GameFeaturePlugin URL into something that can uniquely identify the GameFeaturePlugin without including any transient data being passed in through the URL


className: FGameFeaturePluginInfo

code: struct FGameFeaturePluginInfo

Dependencies

type: TArray<FName>

GfpUri

type: FString


className: FGameFeaturePluginLoadComplete


className: FGameFeaturePluginReleaseComplete


className: FGameFeaturePluginTerminateComplete


className: FGameFeaturePluginUninstallComplete


className: FGameFeaturePluginUnloadComplete


className: FGameFeaturePluginUpdateURLComplete


description: Check if this has the exact same state change application rules

code: bool operator== ( const [FGameFeatureStateChangeContext](API\Plugins\GameFeatures\FGameFeatureStateChangeContext) & OtherContext ) const


description: Sets a specific world context handle to limit changes to

code: void SetRequiredWorldContextHandle ( [FName](API\Runtime\Core\UObject\FName) Handle )


description: Sees if the specific world context matches the application rules

code: bool ShouldApplyToWorldContext ( const [FWorldContext](API\Runtime\Engine\Engine\FWorldContext) & WorldContext ) const


description: True if events bound using this context should apply when using other context

code: bool ShouldApplyUsingOtherContext ( const [FGameFeatureStateChangeContext](API\Plugins\GameFeatures\FGameFeatureStateChangeContext) & OtherContext ) const


className: FGameFeatureStateChangeContext

description: Struct that determines if game feature action state changes should be applied for cases where there are multiple worlds or contexts. The default value means to apply to all possible objects. This can be safely copied and used for later querying.

code: struct FGameFeatureStateChangeContext


className: FGameFeatureVersePathLookup

code: struct FGameFeatureVersePathLookup

GfpInfoMap

type: TMap<FName,FG...


code: static bool FromString ( const [FString](API\Runtime\Core\Containers\FString) & URLString, [FInstallBundlePluginProtocolMetaData](API\Plugins\GameFeatures\FInstallBundlePluginProtocolMeta-) & OutMetadata )


description: Resets all our Metadata values to the default values

code: void ResetToDefaults()


description: Functions to convert to/from the URLFStringrepresentation of this metadata


code: FInstallBundlePluginProtocolMetaData()


className: FInstallBundlePluginProtocolMetaData

bAllowIniLoading

description: Allow the GFP to load INI files, should only be allowed for trusted content

bDoNotDownload

description: Disallows downloading using the bundle manager

bUninstallBeforeTerminate

description: If we want to attempt to uninstall InstallBundle information installed by this plugin before terminating

bUserPauseDownload

description: If we want to set the Downloading state to pause because of user interaction

InstallBundleFlags

type: EInstallBundleR...

description: EInstallBundleRequestFlags utilized during the download/install by InstallBundleManager

ReleaseInstallBundleFlags

description: EInstallBundleReleaseRequestFlags utilized during our release and uninstall states

VersionNum

description: Set to whatever the FDefaultValues::CurrentVersionNum was when this URL was generated.


description: Quick functions that just pass through to the ErrorCode

code: bool HasValue() const


description: No default constructor as we want to force you to always specify at the minimum if theFResultis an error or not through a supplied FErrorCodeType


description: Explicit constructor for times we want to create anFResultdirectly from an FErrorCodeType and not through MakeValue or MakeError. Explicit to avoid any confusion with the following templated constructors.

code: FResult ( [FErrorCodeType](API\Plugins\GameFeatures\FErrorCodeType) ErrorCodeIn )


description: Template Conversion Constructor to allow us to initialize fromTValueOrErrorMakeValue This is needed because of howTValueOrErrorimplements MakeValue through the same templated approach withTValueOrError_ValueProxy.

code: template<typename... ArgTypes> FResult ( [TValueOrError_ValueProxy](API\Runtime\Core\Templates\TValueOrError_ValueProxy)< ArgTypes... > && ValueProxyIn )


description: Template Conversion Constructor to allow us to initialize fromTValueOrErrorMakeError This is needed because of howTValueOrErrorimplements MakeError through the same templated approach withTValueOrError_ErrorProxy.

code: template<typename... ArgTypes> FResult ( [TValueOrError_ErrorProxy](API\Runtime\Core\Templates\TValueOrError_ErrorProxy)< ArgTypes... > && ErrorProxyIn )


code: FResult ( [FErrorCodeType](API\Plugins\GameFeatures\FErrorCodeType) ErrorCodeIn, [FText](API\Runtime\Core\Internationalization\FText) ErrorTextIn )


className: FResult

description: Struct wrapper on a combinedTValueOrErrorErrorCode andFTextOptionalErrorText that can provide anFStringerror code and if set more detailedFTextOptionalErrorText information for the results of a GameFeaturesPlugin operation.

code: struct FResult

ErrorCode

type: FErrorCodeType

description: Error Code representing the error that occurred

OptionalErrorText

type: FText

description: Optional Localized error description to bubble up to the user if one was generated


code: virtual void OnGameFeatureActivating ( const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GameFeatureData, const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


code: namespace GameFeaturePluginStatePrivate { enum EGameFeaturePluginState { Uninitialized, Terminal, UnknownStatus, Uninstalled, Uninstalling, ErrorUninstalling, CheckingStatus, ErrorCheckingStatus, ErrorUnavailable, StatusKnown, Releasing, ErrorManagingData, Downloading, Installed, ErrorMounting, ErrorWaitingForDependencies, ErrorRegistering, WaitingForDependencies, Unmounting, Mounting, Unregistering, Registering, Registered, Unloading, Loading, Loaded, Deactivating, Activating, Active, MAX, } }


code: virtual void OnGameFeatureCheckingStatus ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


code: virtual void OnGameFeatureDeactivating ( const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GameFeatureData, [FGameFeatureDeactivatingContext](API\Plugins\GameFeatures\FGameFeatureDeactivatingContext) & Context, const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


code: virtual void OnGameFeatureLoading ( const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GameFeatureData, const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


description: Called whenever a GameFeature State either pauses or resumes work without transitioning out of that state. EX: Downloading paused due to a users cellular data settings or the user taking a pause action. We may not yet transition to a download error, but want a way to observe this behavior.

code: virtual void OnGameFeaturePauseChange ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FString](API\Runtime\Core\Containers\FString) & PluginName, [FGameFeaturePauseStateChangeContext](API\Plugins\GameFeatures\FGameFeaturePauseStateChangeCont-) & Context )


code: virtual void OnGameFeatureRegistering ( const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GameFeatureData, const [FString](API\Runtime\Core\Containers\FString) & PluginName, const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


code: virtual void OnGameFeatureTerminating ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


code: virtual void OnGameFeatureUnregistering ( const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GameFeatureData, const [FString](API\Runtime\Core\Containers\FString) & PluginName, const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


className: IGameFeatureStateChangeObserver

description: If you do use these, create them in yourUGameFeaturesProjectPoliciessubclass and register them via AddObserver / RemoveObserver onUGameFeaturesSubsystem

code: class IGameFeatureStateChangeObserver


className: LexFromString

code: void LexFromString ( [EGameFeatureTargetState](API\Plugins\GameFeatures\EGameFeatureTargetState) & Value, const TCHAR * StringIn )


className: LexToString

code: const [FString](API\Runtime\Core\Containers\FString) LexToString ( const [EGameFeatureTargetState](API\Plugins\GameFeatures\EGameFeatureTargetState) GameFeatureTargetState )


className: RangeType

code: enum &123; RangeType = 0 &125;


code: static constexpr underlying_type &40; EGameFeaturePluginProtocol &41;


code: template<> struct TEnumRangeTraits< EGameFeaturePluginProtocol >


description: Called to determine if this should be treated as a client, server, or both for data preloading Actions can use this to decide what to load at runtime

code: virtual void GetGameFeatureLoadingMode ( bool & bLoadClientData, bool & bLoadServerData ) const


description: Called when the game feature manager is initialized.

code: virtual void InitGameFeatureManager()


description: Returns the bundle state to use for assets returned byGetPreloadAssetListForGameFeature()See the Asset Manager documentation for more information about asset bundles

code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > GetPreloadBundleStateForGameFeature() const


code: virtual void AddAdditionalAssetBundleData ( [FAssetBundleData](API\Runtime\CoreUObject\AssetRegistry\FAssetBundleData) & AssetBundleData )


className: UDefaultGameFeaturesProjectPolicies

description: It will be used if no project-specific policy is set in Project Settings .. Game Features


description: Older-style activation function with no context, called by base class if context version is not overridden

code: virtual void OnGameFeatureActivating()


description: Called when the feature is actually applied

code: virtual void OnGameFeatureActivating ( [FGameFeatureActivatingContext](API\Plugins\GameFeatures\FGameFeatureActivatingContext) & Context )


description: Called when game feature is deactivated, it may be activated again in the near future

code: virtual void OnGameFeatureDeactivating ( [FGameFeatureDeactivatingContext](API\Plugins\GameFeatures\FGameFeatureDeactivatingContext) & Context )


description: Called to indicate that a feature is being loaded for activation in the near future

code: virtual void OnGameFeatureLoading()


description: Called when the object owning the action is registered for possible activation, this is called even if a feature never activates

code: virtual void OnGameFeatureRegistering()


description: Called to unregister an action, it will not be activated again without being registered again


className: UGameFeatureAction

description: Represents an action to be taken when a game feature is activated

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(DefaultToInstanced, EditInlineNew, Abstract) class UGameFeatureAction : public [UObject](API\Runtime\CoreUObject\UObject\UObject)


description:
Generic function to validate objects during changelist validations, etc.
Valid if this object has data validation rules set up for it and the data for this object is valid. Returns Invalid if it does not pass the rules. Returns NotValidated if no rules are set for this object.

code: virtual EDataValidationResult IsDataValid ( class [FDataValidationContext](API\Runtime\CoreUObject\Misc\FDataValidationContext) & Context ) const


description: Adds cheat manager extensions to the cheat manager for each player

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(MinimalAPI, Meta=(DisplayName="Add Cheats")) class UGameFeatureAction_AddCheats : public [UGameFeatureAction](API\Plugins\GameFeatures\UGameFeatureAction)

bLoadCheatManagersAsync

type: bool

CheatManagers

type: TArray<TSoftCl...

description: Cheat managers to setup for the game feature plugin


description: This can be necessary to reassign startup packages such as the GameFeatureData asset.

code: static void GetChunkForPackage ( const [FString](API\Runtime\Core\Containers\FString) & PackageName, const int32 DefaultGameChunk, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & OutChunkList )


description: ~UObject overrides

code: int32 GetChunkID() const


description: Called when a property on this object has been modified externally

code: virtual void PostEditChangeProperty ( [FPropertyChangedEvent](API\Runtime\CoreUObject\UObject\FPropertyChangedEvent) & PropertyChangedEvent )


description: UObjectoverrides

code: virtual void PostRename ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * OldOuter, const [FName](API\Runtime\Core\UObject\FName) OldName )


description: Used to cook assets from a GFP into a specified chunkId. This can be useful when individually cooking GFPs for iteration or splitting up a packaged game into smaller downloadable chunks.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(MinimalAPI, Meta=(DisplayName="Add Chunk Override"), Config=Engine) class UGameFeatureAction_AddChunkOverride : public [UGameFeatureAction](API\Plugins\GameFeatures\UGameFeatureAction)


description: UGameFrameworkComponentManager

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(MinimalAPI, Meta=(DisplayName="Add Components")) class UGameFeatureAction_AddComponents : public [UGameFeatureAction](API\Plugins\GameFeatures\UGameFeatureAction)

ComponentList

type: TArray<FGameFe...

description: List of components to add to gameplay actors when this game feature is enabled


code: const [UContentBundleDescriptor](API\Runtime\Engine\WorldPartition\ContentBundle\UContentBundleDescriptor) * GetContentBundleDescriptor() const


code: [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GetGameFeatureData() const


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


code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Meta=(DisplayName="Add World Partition Content")) class UGameFeatureAction_AddWPContent : public [UGameFeatureAction](API\Plugins\GameFeatures\UGameFeatureAction)


code: virtual void AddAdditionalAssetBundleData ( [FAssetBundleData](API\Runtime\CoreUObject\AssetRegistry\FAssetBundleData) & AssetBundleData )


code: virtual void OnGameFeatureActivating()


code: virtual void OnGameFeatureDeactivating ( [FGameFeatureDeactivatingContext](API\Plugins\GameFeatures\FGameFeatureDeactivatingContext) & Context )


code: virtual void OnGameFeatureRegistering()


description: If true, we should load the registry at registration time instead of activation time


description: Specifies a list of Data Registries to load and initialize with this feature

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(MinimalAPI, Meta=(DisplayName="Add Data Registry")) class UGameFeatureAction_DataRegistry : public [UGameFeatureAction](API\Plugins\GameFeatures\UGameFeatureAction)


code: virtual EDataValidationResult IsDataValid ( class [FDataValidationContext](API\Runtime\CoreUObject\Misc\FDataValidationContext) & Context ) const


description: If true, we should load the sources at registration time instead of activation time


description: Specifies a list of source assets to add to Data Registries when this feature is activated

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(MinimalAPI, Meta=(DisplayName="Add Data Registry Source")) class UGameFeatureAction_DataRegistrySource : public [UGameFeatureAction](API\Plugins\GameFeatures\UGameFeatureAction)


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UGameFeatureAction](API\Plugins\GameFeatures\UGameFeatureAction) * > & GetActions() const


description: Gathers a list of asset registry searchable tags which are name/value pairs with some type information This only needs to be implemented for asset objects

code: virtual void GetAssetRegistryTags ( [TArray](API\Runtime\Core\Containers\TArray)< [FAssetRegistryTag](API\Runtime\CoreUObject\UObject\UObject\FAssetRegistryTag) > & OutTags ) const


code: static void GetContentBundleGuidsFromAsset ( const [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) & Asset, [TArray](API\Runtime\Core\Containers\TArray)< [FGuid](API\Runtime\Core\Misc\FGuid) > & OutContentBundleGuids )


code: void GetPluginName ( [FString](API\Runtime\Core\Containers\FString) & PluginName ) const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category="GameFeature") static void GetPluginName ( const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GFD, [FString](API\Runtime\Core\Containers\FString) & PluginName )


description: Method to get where the primary assets should scanned from in the plugin hierarchy

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FPrimaryAssetTypeInfo](API\Runtime\Engine\Engine\FPrimaryAssetTypeInfo) > & GetPrimaryAssetTypesToScan() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FPrimaryAssetTypeInfo](API\Runtime\Engine\Engine\FPrimaryAssetTypeInfo) > & GetPrimaryAssetTypesToScan()


description: Method to process the base ini file for the plugin during loading

code: void InitializeBasePluginIniFile ( const [FString](API\Runtime\Core\Containers\FString) & PluginInstalledFilename ) const


description: Method to process ini files for the plugin during activation

code: void InitializeHierarchicalPluginIniFiles ( const [FString](API\Runtime\Core\Containers\FString) & PluginInstalledFilename ) const


description: This scans the class for AssetBundles metadata on asset properties and initializes the AssetBundleData with InitializeAssetBundlesFromMetadata

code: virtual void UpdateAssetBundleData()


className: UGameFeatureData

description: Data related to a game feature, a collection of code and content that adds a separable discrete feature to the game

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

Actions

type: TArray<TObject...

description: List of actions to perform as this game feature is loaded/activated/deactivated/unloaded

PrimaryAssetTypesToScan

type: TArray<FPrimar...

description: List of asset types to scan at startup


description: Called by code that explicitly wants to load a specific plugin (e.g., when using a fast cook a game might want to allow explicitly loaded game feature plugins)

code: virtual void ExplicitLoadGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FGameFeaturePluginLoadComplete](API\Plugins\GameFeatures\FGameFeaturePluginLoadComplete) & CompleteDelegate, const bool bActivateGameFeatures )


description: Called to determine if this should be treated as a client, server, or both for data preloading Actions can use this to decide what to load at runtime

code: virtual void GetGameFeatureLoadingMode ( bool & bLoadClientData, bool & bLoadServerData ) const


description: Called when a game feature plugin enters the Loading state to determine additional assets to load.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [FPrimaryAssetId](API\Runtime\CoreUObject\UObject\FPrimaryAssetId) > GetPreloadAssetListForGameFeature ( const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GameFeatureToLoad, bool bIncludeLoadedAssets ) const


description: Returns the bundle state to use for assets returned byGetPreloadAssetListForGameFeature()See the Asset Manager documentation for more information about asset bundles

code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > GetPreloadBundleStateForGameFeature() const


description: Called when the game feature manager is initialized.

code: virtual void InitGameFeatureManager()


description: Called to determine if a plugin is allowed to be loaded or not (e.g., when doing a fast cook a game might want to disable some or all game feature plugins)

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


description: Called to resolve plugin dependencies, OutDependencyURL will contain the GFP URL if this dependency is a GFP. This may be called with file protocol for built-in plugins in some cases, even if a different protocol is used at runtime. returns The dependency URL or an error if the dependency could not be resolved

code: virtual [TValueOrError](API\Runtime\Core\Math\TValueOrError)< [FString](API\Runtime\Core\Containers\FString), [FString](API\Runtime\Core\Containers\FString) > ReslovePluginDependency ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FString](API\Runtime\Core\Containers\FString) & DependencyName ) const


description: Called when the game feature manager is shut down.


description: Called to determined the expected state of a plugin under the WhenLoading conditions.

code: virtual bool WillPluginBeCooked ( const [FString](API\Runtime\Core\Containers\FString) & PluginFilename, const [FGameFeaturePluginDetails](API\Plugins\GameFeatures\FGameFeaturePluginDetails) & PluginDetails ) const


className: UGameFeaturesProjectPolicies

description: This class allows project-specific rules to be implemented for game feature plugins. Create a subclass and choose it in Project Settings .. Game Features

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


code: void AddObserver ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Observer )


code: static [EGameFeaturePluginState](API\Plugins\GameFeatures\GameFeaturePluginStatePrivate__E-) ConvertInitialFeatureStateToTargetState ( [EBuiltInAutoState](API\Plugins\GameFeatures\EBuiltInAutoState) InitialState )


description: Deactivates the specified plugin

code: void DeactivateGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


description: Deactivates the specified plugin

code: void DeactivateGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FGameFeaturePluginDeactivateComplete](API\Plugins\GameFeatures\FGameFeaturePluginDeactivateComp-) & CompleteDelegate )


description: Attempt to cancel any state change. Calls back when cancelation is complete. Any other pending callbacks will be called with a canceled error.

code: void CancelGameFeatureStateChange ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


code: void CancelGameFeatureStateChange ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FGameFeaturePluginChangeStateComplete](API\Plugins\GameFeatures\FGameFeaturePluginChangeStateCom-) & CompleteDelegate )


description: Changes the target state of a game feature plugin

code: void ChangeGameFeatureTargetState ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, [EGameFeatureTargetState](API\Plugins\GameFeatures\EGameFeatureTargetState) TargetState, const [FGameFeaturePluginChangeStateComplete](API\Plugins\GameFeatures\FGameFeaturePluginChangeStateCom-) & CompleteDelegate )


description: Implement this for deinitialization of instances of the system

code: virtual void Deinitialize()


description: Determine the initial feature state for a built-in plugin

code: static [EBuiltInAutoState](API\Plugins\GameFeatures\EBuiltInAutoState) DetermineBuiltInInitialFeatureState ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FJsonObject](API\Runtime\Json\Dom\FJsonObject) > Descriptor, const [FString](API\Runtime\Core\Containers\FString) & ErrorContext )


className: EObserverCallback

code: enum EObserverCallback { CheckingStatus, Terminating, Registering, Unregistering, Loading, Activating, Deactivating, PauseChanged, Count, }


className: FBuiltInPluginAdditionalFilters

code: typedef [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const [FString](API\Runtime\Core\Containers\FString) &PluginFilename, const [FGameFeaturePluginDetails](API\Plugins\GameFeatures\FGameFeaturePluginDetails) &Details, [FBuiltInGameFeaturePluginBehaviorOptions](API\Plugins\GameFeatures\FBuiltInGameFeaturePluginBehavio-) &OutOptions)> FBuiltInPluginAdditionalFilters


description: Removes assets that are in plugins we know to be inactive. Order is not maintained.

code: void FilterInactivePluginAssets ( [TArray](API\Runtime\Core\Containers\TArray)< [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) > & AssetsToFilter ) const


code: void FilterInactivePluginAssets ( [TArray](API\Runtime\Core\Containers\TArray)< [FAssetIdentifier](API\Runtime\CoreUObject\AssetRegistry\FAssetIdentifier) > & AssetsToFilter ) const


description: Fixes a package path/directory to either be relative to plugin root or not. Paths relative to different roots will not be modified

code: static void FixPluginPackagePath ( [FString](API\Runtime\Core\Containers\FString) & PathToFix, const [FString](API\Runtime\Core\Containers\FString) & PluginRootPath, bool bMakeRelativeToPluginRoot )


description: Calls the compile-time lambda on each active game feature data of the specified type

code: template<class GameFeatureDataType, typename Func> void ForEachActiveGameFeature ( Func InFunc ) const


description: Calls the compile-time lambda on each registered game feature data of the specified type

code: template<class GameFeatureDataType, typename Func> void ForEachRegisteredGameFeature ( Func InFunc ) const


code: static [UGameFeaturesSubsystem](API\Plugins\GameFeatures\UGameFeaturesSubsystem) & Get()


description: Returns all the active plugins GameFeatureDatas

code: void GetGameFeatureDataForActivePlugins ( [TArray](API\Runtime\Core\Containers\TArray)< const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * > & OutActivePluginFeatureDatas )


description: Returns the game feature data for an active plugin specified by PluginURL

code: const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GetGameFeatureDataForActivePluginByURL ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


description: Returns the game feature data for a registered plugin specified by PluginURL

code: const [UGameFeatureData](API\Plugins\GameFeatures\UGameFeatureData) * GetGameFeatureDataForRegisteredPluginByURL ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, bool bCheckForRegistering )


description: Gets the Install_Percent for single game feature plugin if it is active.

code: bool GetGameFeaturePluginInstallPercent ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, float & Install_Percent ) const


description: Gets relevant properties out of a uplugin file

code: bool GetGameFeaturePluginDetails ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPlugin](API\Runtime\Projects\Interfaces\IPlugin) > & Plugin, [FString](API\Runtime\Core\Containers\FString) & OutPluginURL, struct [FGameFeaturePluginDetails](API\Plugins\GameFeatures\FGameFeaturePluginDetails) & OutPluginDetails ) const


code: bool GetGameFeaturePluginDetails &40; const FString & PluginURL, const FString & PluginDescriptorFilename, struct FGameFeaturePluginDetails & OutPluginDetails &41; const


description: Returns the list of plugin filenames that have progressed beyond installed. Used in cooking to determine which will be cooked.

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


description: Get the plugin path from the plugin URL

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


description: Returns the current state of the state machine for the specified plugin URL

code: [EGameFeaturePluginState](API\Plugins\GameFeatures\GameFeaturePluginStatePrivate__E-) GetPluginState ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL ) const


description: Returns the current state of the state machine for the specified plugin PluginIdentifier

code: [EGameFeaturePluginState](API\Plugins\GameFeatures\GameFeaturePluginStatePrivate__E-) GetPluginState ( [FGameFeaturePluginIdentifier](API\Plugins\GameFeatures\FGameFeaturePluginIdentifier) PluginIdentifier ) const


description:
If the specified plugin is known by the game feature system, returns the URL used to identify it
true if the plugin exists, false if it was not found

code: bool GetPluginURLByName ( const [FString](API\Runtime\Core\Containers\FString) & PluginName, [FString](API\Runtime\Core\Containers\FString) & OutPluginURL ) const


description: If the specified plugin is a built-in plugin, return the URL used to identify it. Returns true if the plugin exists, false if it was not found

code: bool GetPluginURLForBuiltInPluginByName ( const [FString](API\Runtime\Core\Containers\FString) & PluginName, [FString](API\Runtime\Core\Containers\FString) & OutPluginURL ) const


description: Returns the plugin protocol for the specified URL

code: static [EGameFeaturePluginProtocol](API\Plugins\GameFeatures\EGameFeaturePluginProtocol) GetPluginURLProtocol ( FStringView PluginURL )


description: Construct a 'file:'Plugin URL using from the PluginDescriptorPath

code: static [FString](API\Runtime\Core\Containers\FString) GetPluginURL_FileProtocol ( const [FString](API\Runtime\Core\Containers\FString) & PluginDescriptorPath )


description: Construct a 'installbundle:' Plugin URL using from the PluginName and required install bundles

code: static [FString](API\Runtime\Core\Containers\FString) GetPluginURL_InstallBundleProtocol ( const [FString](API\Runtime\Core\Containers\FString) & PluginName, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FString](API\Runtime\Core\Containers\FString) > BundleNames )


code: static [FString](API\Runtime\Core\Containers\FString) GetPluginURL_InstallBundleProtocol ( const [FString](API\Runtime\Core\Containers\FString) & PluginName, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [FName](API\Runtime\Core\UObject\FName) > BundleNames )


code: static [FString](API\Runtime\Core\Containers\FString) GetPluginURL_InstallBundleProtocol ( const [FString](API\Runtime\Core\Containers\FString) & PluginName, const [FString](API\Runtime\Core\Containers\FString) & BundleName )


code: static [FString](API\Runtime\Core\Containers\FString) GetPluginURL_InstallBundleProtocol ( const [FString](API\Runtime\Core\Containers\FString) & PluginName, const [FInstallBundlePluginProtocolMetaData](API\Plugins\GameFeatures\FInstallBundlePluginProtocolMeta-) & ProtocolMetadata )


code: static [FString](API\Runtime\Core\Containers\FString) GetPluginURL_InstallBundleProtocol ( const [FString](API\Runtime\Core\Containers\FString) & PluginName, [FName](API\Runtime\Core\UObject\FName) BundleName )


description: Returns the game-specific policy for managing game feature plugins

code: template<typename T> T & GetPolicy() const


description: Implement this for initialization of instances of the system

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


description: Determines if a plugin is in the Active state.

code: bool IsGameFeaturePluginActive ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, bool bCheckForActivating ) const


description: Determines if a plugin is in the Installed state (or beyond)

code: bool IsGameFeaturePluginInstalled ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL ) const


description: Determines if a plugin is in the Loaded state (or beyond)

code: bool IsGameFeaturePluginLoaded ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL ) const


description: Tests whether the plugin URL is the specified protocol

code: static bool IsPluginURLProtocol ( FStringView PluginURL, [EGameFeaturePluginProtocol](API\Plugins\GameFeatures\EGameFeaturePluginProtocol) PluginProtocol )


description: Determines if a plugin is in the Registered state (or beyond)

code: bool IsGameFeaturePluginRegistered ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, bool bCheckForRegistering ) const


description: Loads a single game feature plugin and activates it.

code: void LoadAndActivateGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FGameFeaturePluginLoadComplete](API\Plugins\GameFeatures\FGameFeaturePluginLoadComplete) & CompleteDelegate )


description: Loads a built-in game feature plugin if it passes the specified filter

code: void LoadBuiltInGameFeaturePlugin ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IPlugin](API\Runtime\Projects\Interfaces\IPlugin) > & Plugin, [FBuiltInPluginAdditionalFilters](API\Plugins\GameFeatures\UGameFeaturesSubsystem\FBuiltInPluginAdditionalFilters) AdditionalFilter, const [FGameFeaturePluginLoadComplete](API\Plugins\GameFeatures\FGameFeaturePluginLoadComplete) & CompleteDelegate )


description: Loads all built-in game feature plugins that pass the specified filters

code: void LoadBuiltInGameFeaturePlugins ( [FBuiltInPluginAdditionalFilters](API\Plugins\GameFeatures\UGameFeaturesSubsystem\FBuiltInPluginAdditionalFilters) AdditionalFilter, const [FBuiltInGameFeaturePluginsLoaded](API\Plugins\GameFeatures\FBuiltInGameFeaturePluginsLoaded) & CompleteDelegate )


description: Loads the specified game feature data and its bundles

code: static [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FStreamableHandle](API\Runtime\Engine\Engine\FStreamableHandle) > LoadGameFeatureData ( const [FString](API\Runtime\Core\Containers\FString) & GameFeatureToLoad )


description: Releases any game data stored for this GameFeaturePlugin. Does not uninstall data and it will remain on disk.

code: void ReleaseGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


description: Loads a single game feature plugin.

code: void LoadGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FGameFeaturePluginLoadComplete](API\Plugins\GameFeatures\FGameFeaturePluginLoadComplete) & CompleteDelegate )


code: void ReleaseGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FGameFeaturePluginReleaseComplete](API\Plugins\GameFeatures\FGameFeaturePluginReleaseComplet-) & CompleteDelegate )


code: void RemoveObserver ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Observer )


description: Terminate the GameFeaturePlugin and remove all associated plugin tracking data.

code: void TerminateGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL )


code: void TerminateGameFeaturePlugin ( const [FString](API\Runtime\Core\Containers\FString) & PluginURL, const [FGameFeaturePluginTerminateComplete](API\Plugins\GameFeatures\FGameFeaturePluginTerminateCompl-) & CompleteDelegate )