code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNeuralMorphBoneGroup](API\Plugins\NeuralMorphModel\FNeuralMorphBoneGroup) > & GetBoneGroups() const


description:
Get the curve groups. Curve groups are groups of bones that generate morph targets all together as a group rather than one for each curve individually.
A reference to the curve groups array.

module: NeuralMorphModel

code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNeuralMorphCurveGroup](API\Plugins\NeuralMorphModel\FNeuralMorphCurveGroup) > & GetCurveGroups() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FNeuralMorphCurveGroup](API\Plugins\NeuralMorphModel\FNeuralMorphCurveGroup) > & GetCurveGroups()


description:
Check whether we have invalid groups or not. A group is considered invalid when it is empty, has items with the name 'None', or invalid names, or when the items (bones or curve names) do not exist in the bone or curve list.
Returns true when there are invalid bone or curve groups, otherwise false is returned.

code: bool HasInvalidGroups() const


description: Clear all contents. This can clear the list of all bone and curves that are part of this input info.

code: virtual void Reset()


className: UNeuralMorphInputInfo

description: The neural morph model's input info that contains all the data about the inputs to the network.

BoneGroups

type: TArray<FNeural...

description: The groups of bones that generate morph targets together.

CurveGroups

description: The groups of curves that generate morph targets together.


description:
Get a given network layer.
A reference to the layer, which will contain the weights and biases.

code: [UNeuralMorphMLPLayer](API\Plugins\NeuralMorphModel\UNeuralMorphMLPLayer) & GetLayer ( int32 Index ) const


description: Clear the network, getting rid of all weights and biases.

code: void Empty()


description:
Get the maximum number of inputs for all layers in the network. This is used to pre-allocate a temp buffer used to pass the data through the layers.
The maximum number of inputs of all layers.

code: int32 GetMaxNumLayerInputs() const


description:
Get the maximum number of outputs for all layers in the network. This is used to pre-allocate a temp buffer used to pass the data through the layers.
The maximum number of outputs of all layers.

code: int32 GetMaxNumLayerOutputs() const


description:
Get the number of inputs, which is the number of floats the network takes as input.
The number of input floats to the network.

code: int32 GetNumInputs() const


description:
Get the number of network layers. This equals to the number of hidden layers plus one.
The number of network layers.

code: int32 GetNumLayers() const


description:
Check if the network is empty or not. If it is empty, it means it hasn't been loaded, and cannot do anything. Empty means it has no layers.
Returns true if empty, otherwise false is returned.

code: bool IsEmpty() const


description:
Get the number of outputs, which is the number of floats the network will output.
The number of floats that the network outputs.

code: int32 GetNumOutputs() const


description:
Load the network from a file on disk. When loading fails, the network will be emptied.
Returns true when successfully loaded this model, otherwise false is returned.

code: bool Load ( [FArchive](API\Runtime\Core\Serialization\FArchive) & FileReader )


className: UNeuralMorphMLPLayer

description: A fully connected layer, which contains the weights and biases for those connections.

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

Biases

type: TArray< float >

description: The biases. The number of biases will be the same as the number of columns multiplied by the depth.

Depth

description: The number of instances of inputs and outputs.

NumInputs

description: The weight matrix number of inputs (rows).

NumOutputs

description: The weight matrix number of outputs (columns).

Weights

description: A 2D array of weights. The number of weights equals NumRows x NumColumns x Depth.


className: UNeuralMorphMLP

description: An MLP neural network.

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


code: virtual [UMLDeformerInputInfo](API\Plugins\MLDeformerFramework\UMLDeformerInputInfo) * CreateInputInfo()


code: virtual [UMLDeformerModelInstance](API\Plugins\MLDeformerFramework\UMLDeformerModelInstance) * CreateModelInstance ( [UMLDeformerComponent](API\Plugins\MLDeformerFramework\UMLDeformerComponent) * Component )


code: int32 GetBatchSize() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNeuralMorphBoneGroup](API\Plugins\NeuralMorphModel\FNeuralMorphBoneGroup) > & GetBoneGroups() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNeuralMorphCurveGroup](API\Plugins\NeuralMorphModel\FNeuralMorphCurveGroup) > & GetCurveGroups() const


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


code: int32 GetGlobalNumHiddenLayers() const


code: int32 GetGlobalNumMorphs() const


code: float GetLearningRate() const


code: int32 GetLocalNumHiddenLayers() const


code: int32 GetLocalNumMorphsPerBone() const


code: [UNeuralMorphNetwork](API\Plugins\NeuralMorphModel\UNeuralMorphNetwork) * GetNeuralMorphNetwork() const


code: virtual int32 GetNumFloatsPerCurve() const


code: int32 GetNumIterations() const


code: float GetRegularizationFactor() const


code: float GetSmoothLossBeta() const


code: bool IsBoneMaskingEnabled() const


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


code: void SetNumIterations ( int32 InNumIterations )


code: void SetNeuralMorphNetwork ( [UNeuralMorphNetwork](API\Plugins\NeuralMorphModel\UNeuralMorphNetwork) * Net )


code: void UpdateMissingGroupNames()


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


description: Execute the model instance, which can run the neural network inference in case the model uses a neural network. This already assumes that compatibility checks are done, and that the network inputs are set etc.

code: virtual void Execute ( float ModelWeight )


className: UNeuralMorphModel

description: ENeuralMorphMode

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)() class UNeuralMorphModel : public [UMLDeformerMorphModel](API\Plugins\MLDeformerFramework\UMLDeformerMorphModel)

BatchSize

description: The number of frames per batch when training the model.

bEnableBoneMasks

type: bool

description: Enable the use of per bone and bone group masks.

BoneGroupMaskInfos

type: TMap<FName,FN...

description: Information needed to generate a mask for each bone group.

BoneGroups

description: The set of bones that are grouped together and generate morph targets together as a whole.

BoneMaskInfos

description: Information needed to generate a mask for each bone.

CurveGroups

description: The set of curves that are grouped together and generate morph targets together as a whole.

GlobalNumHiddenLayers

description: The number of hidden layers that the neural network model will have.

GlobalNumMorphTargets

description: The number of morph targets to generate in total.

GlobalNumNeuronsPerLayer

description: The number of units/neurons per hidden layer.

LearningRate

type: float

description: The learning rate used during the model training.

LocalNumMorphTargetsPerBone

description: The number of morph targets to generate per bone, curve or group.

Mode

type: ENeuralMorphMod...

description: The mode that the neural network will operate in.

NeuralMorphNetwork

type: TObjectPtr<UNe...

description: The neural morph model network.

NumIterations

description: The number of iterations to train the model for.

RegularizationFactor

description: The regularization factor.

SmoothLossBeta

description: The beta parameter in the smooth L1 loss function, which describes below which absolute error to use a squared term.


description: Set the network inputs.

code: void FillNetworkInputs()


description: Initialize the model instance. This internally builds the structures to quickly grab bone transforms. If you override this method, you probably also want to call the Init of this base class inside your overloaded method.

code: virtual void Init ( [USkeletalMeshComponent](API\Runtime\Engine\Components\USkeletalMeshComponent) * SkelMeshComponent )


description:
Set the animation curve values inside a given output buffer, starting from a given StartIndex.
The new start index into the output buffer, to be used when you write more data after this.

code: virtual int64 SetCurveValues ( float * OutputBuffer, int64 OutputBufferSize, int64 StartIndex )


description:
Setup the neural network for this frame. This has to perform compatibility checks, valid pointer checks, and call the SetNeuralNetworkInputValues. After this method is executed, the neural network should be ready to execute. TheUMLDeformerModelInstance::Tickmethod internally calls both the SetupNeuralNetworkForFrame and RunNeuralNetwork methods.
Returns true when the setup is done correctly and the neural network is ready to be executed. Otherwise false is returned, which can happen when the NeuralNetwork pointer is invalid, when the model is not set, when the network is not compatible, etc.

code: virtual bool SetupInputs()


className: UNeuralMorphModelInstance

BoneGroupIndices

type: TArray< int32 >


className: UNeuralMorphModelVizSettings

description: The vizualization settings specific to this model. Even if we have no new properties compared to the morph model, we still need to create this class in order to propertly register a detail customization for it in our editor module.

MaskVizMode

type: ENeuralMorphMas...

description: The visualization mode for the masks.


description:
Create an instance of this neural network.
A pointer to the neural network instance.


description: Clear the network, getting rid of all weights and biases.

code: void Empty()


description:
Get the MLP used for group of bones and curves. This MLP (or actually a Multi-MLP) contains small networks for the bone or curve groups. Each group will generate a set of morph target weights.
A pointer to the MLP used for the bone and curve groups.

code: [UNeuralMorphMLP](API\Plugins\NeuralMorphModel\UNeuralMorphMLP) * GetGroupMLP() const


description:
Get the means of each input, used for normalizing the input values.
The array of mean values, one value for each network input.

code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > GetInputMeans() const


description:
Get the standard deviations of each input, used for normalizing the input values.
The array that contains the standard deviations, one value for each network input.

code: const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > GetInputStds() const


description:
Get the main MLP. This is the MLP (or actually a Multi-MLP) that contains a small network for every bone or curve. Each small network will output a set of morph target weights.
A pointer to the main MLP.

code: [UNeuralMorphMLP](API\Plugins\NeuralMorphModel\UNeuralMorphMLP) * GetMainMLP() const


description:
Get the mode that the model was trained for, either global or local mode.
The mode the model was trained for.


description:
Get the number of curves that are input to the network.
The number of curves.

code: int32 GetNumCurves() const


description:
Get the number of floats used to represent a single curve value.
The number of float values per curve.

code: int32 GetNumFloatsPerCurve() const


description:
Get the number of groups. A group is a collection of bones or curves that together generate a number of morph targets. Each group must have the same number of items.
The number of groups.

code: int32 GetNumGroups() const


description:
Get the number of network inputs. This is the sum of the number of main network inputs and group network inputs.
The number of inputs.

code: int32 GetNumInputs() const


description:
Get the number of items per group. This indicates how many bones or curves each group has. Every group must have the same number of items.
The number of items per group.

code: int32 GetNumItemsPerGroup() const


description:
Get the number of morph targets per bone. This will only be valid if theGetMode()method returns the local model mode. For global mode networks, this will return 0.
The number of morph targets per bone.

code: int32 GetNumMorphsPerBone() const


description:
Get the number of network outputs. This is the sum of the number of main network outputs and group network outputs.
The number of outputs.

code: int32 GetNumOutputs() const


description:
Load the network from a file on disk. When loading fails, the network will be emptied.
Returns true when successfully loaded this model, otherwise false is returned.

code: bool Load ( const [FString](API\Runtime\Core\Containers\FString) & Filename )


description:
Check if the network is empty or not. If it is empty, it means it hasn't been loaded, and cannot do anything. Empty means it has no inputs, outputs or weights.
Returns true if empty, otherwise false is returned.

code: bool IsEmpty() const


description:
Get the number of bones that are input to the network.
The number of bones.

code: int32 GetNumBones() const


className: UNeuralMorphNetwork

description: The specialized neural network for the Neural Morph Model. This class is used to do inference at runtime at a higher performance than using UNeuralNetwork. The reason why it is faster is because it is a highly specialized network for this specific model. When the model is a local mode based model, there can be actually two neural networks inside this: one main network and a bone/curve group network. The group network uses groups of bones or curves to generate morph targets, rather than individual bones/curves.

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


description:
Get the inputs for the group MLP.
The array view of floats that represent the group network inputs.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > GetGroupInputs()


code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > GetGroupInputs() const


description:
Get the network input buffer.
The array view of floats that represents the main network inputs.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > GetInputs()


code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > GetInputs() const


description:
Get the neural network this is an instance of.
A reference to the neural network.

code: const [UNeuralMorphNetwork](API\Plugins\NeuralMorphModel\UNeuralMorphNetwork) & GetNeuralNetwork() const


description:
Get the network output buffer.
The array view of floats that represents the network outputs.

code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > GetOutputs()


code: [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > GetOutputs() const


description: Run the neural network, performing inference. This will update the values in the output buffer that you can get with the GetOutputs method. This also assumes you have set all the right input values already.

code: void Run()


className: UNeuralMorphNetworkInstance

description: An instance of aUNeuralMorphNetwork. The instance holds its own input and output buffers and only reads from the network object it was instanced from. This allows it to be multithreaded.

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


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

module: NeuralMorphModelEditor

code: virtual void RegisterCommands()


code: FNeuralMorphBoneGroupsCommands()


className: FNeuralMorphBoneGroupsCommands

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

AddBoneToGroup

type: TSharedPtr<FUI...


code: bool IsGroup() const


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ITableRow](API\Runtime\Slate\Widgets\Views\ITableRow) > MakeTreeRowWidget ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [STableViewBase](API\Runtime\Slate\Widgets\Views\STableViewBase) > & InOwnerTable, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNeuralMorphBoneGroupsTreeElement](API\Plugins\NeuralMorphModelEditor\FNeuralMorphBoneGroupsTreeElemen-) > InTreeElement, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SNeuralMorphBoneGroupsWidget](API\Plugins\NeuralMorphModelEditor\SNeuralMorphBoneGroupsWidget) > InTreeWidget )


className: FNeuralMorphBoneGroupsTreeElement

code: class FNeuralMorphBoneGroupsTreeElement : public [TSharedFromThis< FNeuralMorphBoneGroupsTreeElement >](API\Runtime\Core\Templates\TSharedFromThis)

Children

type: TArray<TShared...

Name

type: FName

ParentGroup

type: TWeakPtr<FNeur...

TextColor

type: FSlateColor


code: FNeuralMorphCurveGroupsCommands()


className: FNeuralMorphCurveGroupsCommands

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


code: [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [ITableRow](API\Runtime\Slate\Widgets\Views\ITableRow) > MakeTreeRowWidget ( const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [STableViewBase](API\Runtime\Slate\Widgets\Views\STableViewBase) > & InOwnerTable, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNeuralMorphCurveGroupsTreeElement](API\Plugins\NeuralMorphModelEditor\FNeuralMorphCurveGroupsTreeEleme-) > InTreeElement, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SNeuralMorphCurveGroupsWidget](API\Plugins\NeuralMorphModelEditor\SNeuralMorphCurveGroupsWidget) > InTreeWidget )


className: FNeuralMorphCurveGroupsTreeElement

code: class FNeuralMorphCurveGroupsTreeElement : public [TSharedFromThis< FNeuralMorphCurveGroupsTreeElement >](API\Runtime\Core\Templates\TSharedFromThis)


description: Apply the mask info to the mask buffer of floats.

code: void ApplyMaskInfoToMaskBuffer ( const [USkeletalMesh](API\Runtime\Engine\Engine\USkeletalMesh) * SkeletalMesh, const [FNeuralMorphMaskInfo](API\Plugins\NeuralMorphModel\FNeuralMorphMaskInfo) & MaskInfo, [TArrayView](API\Runtime\Core\Containers\TArrayView)< float > ItemMaskBuffer )


description: Build a set of masks, all concatenated into one flat array. The number of masks is (NumBones + NumCurves + NumBoneGroups + NumCurveGroups). Each mask contains Model->GetNumBaseMeshVerts()number of floats. The masks for curves and curve groups are all set to 1.0. The masks for bones and bone groups contain all the vertices they influence during skinning, as well as the ones from the parent bone. This will modify the item mask buffer as returned by UMLDeformerMorphModel::GetInputItemMaskBuffer().

code: void BuildMaskBuffer ( [TArray](API\Runtime\Core\Containers\TArray)< float > & OutMaskBuffer )


description:
Create the input widget. The default widget that is created contains the bone and curve list. You can inherit from the SMLDeformerInputWidget base class and override this method to return your custom widget. This can be useful when you want to add new types of inputs to your model.
A shared pointer to the input widget that will appear in the UI.


description: Draw the mask for a given item. An item can be a bone, curve or anything else that has a mask.

code: void DebugDrawItemMask ( [FPrimitiveDrawInterface](API\Runtime\Engine\FPrimitiveDrawInterface) * PDI, int32 MaskItemIndex, const FVector & DrawOffset )


description: GenerateBoneMaskInfos

code: void GenerateBoneMaskInfo ( int32 InputInfoBoneIndex, int32 HierarchyDepth )


description: GenerateBoneMaskInfos

code: void GenerateBoneGroupMaskInfos ( int32 HierarchyDepth )


description: GenerateBoneMaskInfos

code: void GenerateBoneGroupMaskInfo ( int32 InputInfoBoneGroupIndex, int32 HierarchyDepth )


description: Generate bone mask infos for all bones in the bone input list. Use a specific hierarchy depth for this, which defines how deep up and down the hierarchy we should traverse for each specific bone. Imagine we generate the mask for a bone in a chain of bones. We look at all vertices skinned to this bone, and include those vertices in the mask. With a hierarchy depth of 1, include all vertices skinned to its parent bone as well as to its child bone. With a hierarchy depth of 2 we also include the parent of the parent and the child of the child if it exists. We always want the mask to be large enough, otherwise if say skin stretches a lot, we will not capture the vertex deltas for those vertices far away from the bone, which can cause issues. However we don't want the mask to be too large either, as that costs performance and memory usage.

code: void GenerateBoneMaskInfos ( int32 HierarchyDepth )


description:
Generate a unique name for a bone group.
The unique name.


description:
Generate a unique name for a curve group.
The unique name.


description: Get the mask buffer for a given morph target.

code: virtual const [TArrayView](API\Runtime\Core\Containers\TArrayView)< const float > GetMaskForMorphTarget ( int32 MorphTargetIndex ) const


description:
Get the mask visualization item index. This specifies which item (bone, curve, bone group, curve group) to visualize the mask for. The first index values are for all input bones. Indices that come after that are for curves, then for bone groups and finally followed by curve groups. So if there are 10 input bones and 4 bone groups, and the visualization index is 11, it means it's for the second bone group.
The item to visualize the mask for.


description: Get a pointer to the neural morph runtime model.

code: [UNeuralMorphModel](API\Plugins\NeuralMorphModel\UNeuralMorphModel) * GetNeuralMorphModel() const


description:
Get the text that we should display as overlay on top of the asset editor viewport.
The text, or an empty text object if there is nothing to show.

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


description: Initialize the model. This will mainly create the delta sampler, editor input info and some other things.

code: virtual void Init ( const [InitSettings](API\Plugins\MLDeformerFrameworkEditor\FMLDeformerEditorModel\InitSettings) & Settings )


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

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


description: Initialize the input information, which basically describes what the inputs to the neural network are going to be. This contains things such as bone and curve names. The input info is used during both training and inference time. It is used to see what bone transforms and curve values to feed into the network inputs. Next to bones and curve reference it also stores the vertex counts of the base and target meshes, so we can later do some compatibility checks when applying this ML Deformer onto some character.

code: virtual void InitInputInfo ( [UMLDeformerInputInfo](API\Plugins\MLDeformerFramework\UMLDeformerInputInfo) * InputInfo )


description:
Check if input masking is supported in this model. This allows bones and curves to specify a given mask. These masks can be used during training. On default this is disabled.
Returns true if supported, or false otherwise.

code: virtual bool IsInputMaskingSupported() const


description:
Check whether our model is trained or not. This is determined by looking whether the neural network pointer is nullptr or not.
Returns true when the model is trained already, or false if it hasn't been trained yet.

code: virtual bool IsTrained() const


description: Load the trained network from an onnx file. The filename of the onnx file is determined by the GetTrainedNetworkOnnxFile method.

code: virtual bool LoadTrainedNetwork() const


description: We need to implement this static MakeInstance method.

code: static [FMLDeformerEditorModel](API\Plugins\MLDeformerFrameworkEditor\FMLDeformerEditorModel) * MakeInstance()


description: This is executed after the input assets have changed. On default this will refresh the deformer graphs, update the timeline ranges, select the right frames, modify the training button ready state, etc.

code: virtual void OnPostInputAssetChanged()


description: This is called whenever a property value changes in the UI. The default implementation handles all the shared property changes already. You can overload this and call the base class method inside it, and then handle your own model specific property changes.

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


description: Rebuild the mask buffer.

code: void RebuildEditorMaskInfo()


description: Remove mask infos for bones that do not exist in the bone include list.

code: void RemoveNonExistingMaskInfos()


description: Render additional (debug) things in the viewport. This will draw the vertex deltas when we are in training mode and aren't playing the training data.

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


description: Clear all bone group mask infos.

code: void ResetBoneGroupMaskInfos()


description: Clear all bone mask infos.

code: void ResetBoneMaskInfos()


description: Set the mask visualization item index. This specifies which item (bone, curve, bone group, curve group) to visualize the mask for. The first index values are for all input bones. Indices that come after that are for curves, then for bone groups and finally followed by curve groups. So if there are 10 input bones and 4 bone groups, and the visualization index is 11, it means it's for the second bone group.

code: void SetMaskVisualizationItemIndex ( int32 InMaskVizItemIndex )


description:
Calling the TrainModel function inside will then trigger the Python train method to be called.
The training result.


description: Update the state that is used to decide whether the Train button in the UI is enabled or not. One criteria could be to check whether we have all required inputs, such as a skeletal mesh, target mesh and anim sequence. This should set the bIsReadyForTraining bool to true when it is ready, or false if not.


className: FNeuralMorphEditorModel

description: The editor model related to the neural morph model's runtime class (UNeuralMorphModel).


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

code: virtual void RegisterCommands()


code: FNeuralMorphInputWidgetCommands()


className: FNeuralMorphInputWidgetCommands

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


description: Called when details should be customized

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


description: Makes a new instance of this detail layout class for a specific detail view requesting it.

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


className: FNeuralMorphModelDetails

description: The detail customization for the neural morph model.

code: class FNeuralMorphModelDetails : public [UE::MLDeformer::FMLDeformerMorphModelDetails](API\Plugins\MLDeformerFrameworkEditor\FMLDeformerMorphModelDetails)


className: FNeuralMorphModelVizSettingsDetails

description: The neural morph model visualization settings detail customization. This is inherited from the Morph Model detail customization. We do not have to do anything else. We still need this class in order to do our detail customization correctly. Just using the Morph Model directly would cause issues.


code: void Construct ( const [FArguments](API\Runtime\Slate\Widgets\Layout\SBorder\FArguments) & InArgs, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [STableViewBase](API\Runtime\Slate\Widgets\Views\STableViewBase) > & OwnerTable, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNeuralMorphBoneGroupsTreeElement](API\Plugins\NeuralMorphModelEditor\FNeuralMorphBoneGroupsTreeElemen-) > InTreeElement, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SNeuralMorphBoneGroupsWidget](API\Plugins\NeuralMorphModelEditor\SNeuralMorphBoneGroupsWidget) > InTreeView )


className: SNeuralMorphBoneGroupsTreeRowWidget

code: class SNeuralMorphBoneGroupsTreeRowWidget : public [STableRow< TSharedPtr< FNeuralMorphBoneGroupsTreeElement > >](API\Runtime\Slate\Widgets\Views\STableRow)


code: void BindCommands ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandList](API\Runtime\Slate\Framework\Commands\FUICommandList) > CommandList )


code: void Construct ( const [FArguments](API\Plugins\NeuralMorphModelEditor\SNeuralMorphBoneGroupsWidget\FArguments) & InArgs )


code: WidgetArgsType & InputWidget &40; TSharedPtr< UE::MLDeformer::SMLDeformerInputWidget > InArg &41;


code: WidgetArgsType & EditorModel &40; FNeuralMorphEditorModel &42; InArg &41;


className: WidgetArgsType

code: typedef FArguments WidgetArgsType


className: FArguments

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


code: int32 GetNumSelectedGroups() const


className: SNeuralMorphBoneGroupsWidget

code: class SNeuralMorphBoneGroupsWidget : public [STreeView< TSharedPtr< FNeuralMorphBoneGroupsTreeElement > >](API\Editor\UnrealEd\STreeView)


code: void Construct ( const [FArguments](API\Runtime\Slate\Widgets\Layout\SBorder\FArguments) & InArgs, const [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [STableViewBase](API\Runtime\Slate\Widgets\Views\STableViewBase) > & OwnerTable, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNeuralMorphCurveGroupsTreeElement](API\Plugins\NeuralMorphModelEditor\FNeuralMorphCurveGroupsTreeEleme-) > InTreeElement, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SNeuralMorphCurveGroupsWidget](API\Plugins\NeuralMorphModelEditor\SNeuralMorphCurveGroupsWidget) > InTreeView )


className: SNeuralMorphCurveGroupsTreeRowWidget

code: class SNeuralMorphCurveGroupsTreeRowWidget : public [STableRow< TSharedPtr< FNeuralMorphCurveGroupsTreeElement > >](API\Runtime\Slate\Widgets\Views\STableRow)


code: void Construct ( const [FArguments](API\Plugins\NeuralMorphModelEditor\SNeuralMorphCurveGroupsWidget\FArguments) & InArgs )


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


className: SNeuralMorphCurveGroupsWidget

code: class SNeuralMorphCurveGroupsWidget : public [STreeView< TSharedPtr< FNeuralMorphCurveGroupsTreeElement > >](API\Editor\UnrealEd\STreeView)


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


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


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


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


code: void BindCommands()


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


code: void Construct ( const [FArguments](API\Plugins\NeuralMorphModelEditor\SNeuralMorphInputWidget\FArguments) & InArgs )


code: void CreateBoneGroupsSection()


code: void ExpandBoneGroupMasks()


code: void ExpandBoneMasks()


code: void CreateCurveGroupsSection()


code: WidgetArgsType & EditorModel &40; UE::MLDeformer::FMLDeformerEditorModel &42; InArg &41;


code: typedef FArguments WidgetArgsType


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


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandList](API\Runtime\Slate\Framework\Commands\FUICommandList) > GetBoneGroupsCommandList() const


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandList](API\Runtime\Slate\Framework\Commands\FUICommandList) > GetCurveGroupsCommandList() const


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


code: int32 GetHierarchyDepth() const


code: virtual void OnAddAnimatedBones()


code: virtual void OnAddAnimatedCurves()


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


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


code: virtual void OnClearInputBones()


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


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


code: virtual void OnSelectInputBone ( [FName](API\Runtime\Core\UObject\FName) BoneName )


code: void OnSelectInputBoneGroup ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNeuralMorphBoneGroupsTreeElement](API\Plugins\NeuralMorphModelEditor\FNeuralMorphBoneGroupsTreeElemen-) > Element )


code: void OnSelectInputCurveGroup ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNeuralMorphCurveGroupsTreeElement](API\Plugins\NeuralMorphModelEditor\FNeuralMorphCurveGroupsTreeEleme-) > Element )


code: virtual void OnSelectInputCurve ( [FName](API\Runtime\Core\UObject\FName) BoneName )


description: Refresh all sub-widget contents.

code: virtual void Refresh()


code: void ResetAllBoneGroupMasks()


code: void ResetAllBoneMasks()


code: void ResetSelectedBoneGroupMasks()


code: void ResetSelectedBoneMasks()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Training Model") [TArray](API\Runtime\Core\Containers\TArray)< int32 > GenerateBoneGroupIndices() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Training Model") [TArray](API\Runtime\Core\Containers\TArray)< float > GetMorphTargetMasks() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Training Model") int32 GetNumBoneGroups() const


className: SNeuralMorphInputWidget

code: class SNeuralMorphInputWidget : public [UE::MLDeformer::SMLDeformerInputWidget](API\Plugins\MLDeformerFrameworkEditor\SMLDeformerInputWidget)

BoneGroupsWidget

type: TSharedPtr<SNe...


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Training Model") [TArray](API\Runtime\Core\Containers\TArray)< int32 > GenerateCurveGroupIndices() const


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintPure, Category="Training Model") int32 GetNumCurveGroups() const


description: UMLDeformerTrainingModel

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintImplementableEvent, Category="Training Model") int32 Train() const


className: UNeuralMorphTrainingModel

description: The training model for the neural morph model. This class is our link to the Python training.


module: NewGizmoEnable

code: virtual void RegisterCommands()


className: FNewGizmoEnableCommands

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


code: ECheckBoxState AreNewGizmosActive()


className: bTestingModeEnabled

description: Whether currently in testing mode or not.

code: static bool bTestingModeEnabled = false;


code: static void ShowGizmoOptions()


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: Action Callbacks

code: void ToggleNewGizmosActive()


description: IModuleInterfaceimplementation

code: virtual void StartupModule()


className: FNewGizmoEnableModule

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


description: Returns ArrowComponent subobject

module: Niagara

code: [UArrowComponent](API\Runtime\Engine\Components\UArrowComponent) * GetArrowComponent() const


description: Returns true if the system will destroy on finish

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=NiagaraActor) bool GetDestroyOnSystemFinish() const


description: Returns NiagaraComponent subobject

code: [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * GetNiagaraComponent() const


description: Returns SpriteComponent subobject

code: [UBillboardComponent](API\Runtime\Engine\Components\UBillboardComponent) * GetSpriteComponent() const


description:
Used by the "Sync to Content Browser" right-click menu option in the editor.
Whether the object references content (all overrides of this function should return true)

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


description: Called after all the components in the Components array are registered, called both in editor and during gameplay. bHasRegisteredAllComponents must be set true prior to calling this function.


description: Called after all currently registered components are cleared


description: Set true for this actor to self-destruct when the Niagara system finishes, false otherwise

code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=NiagaraActor) void SetDestroyOnSystemFinish ( bool bShouldDestroyOnSystemFinish )


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


className: ANiagaraActor

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(HideCategories=(Activation, "Components|Activation", Input, Collision, "Game|Damage"), ComponentWrapperClass, MinimalAPI) class ANiagaraActor : public [AActor](API\Runtime\Engine\GameFramework\AActor)


description: This will actually activate the lens Effect. We want this separated from PostInitializeComponents so we can cache these emitters

code: virtual void ActivateLensEffect()


code: virtual void AdjustBaseFOV ( float NewFOV )


description: Deactivtes the particle system. If bDestroyOnSystemFinish is true, actor will die after particles are all dead.

code: virtual void DeactivateLensEffect()


description: Overridable function called whenever this actor is being removed from a level

code: virtual void EndPlay ( const [EEndPlayReason::Type](API\Runtime\Engine\Engine\EEndPlayReason__Type) EndPlayReason )


description: Reset this actor in the level.

code: void ResetInLevel()


code: virtual const FTransform & GetRelativeTransform() const


description: Returns true if any associated particle system is set to looping

code: virtual bool IsLooping() const


description: Called when this emitter is re-triggered, for bAllowMultipleInstances=false emitters.

code: virtual void NotifyRetriggered()


description: If this type needs to handle being pooled, override this function

code: virtual void NotifyWillBePooled()


description: Called when being added to the player camera manager. Typically happens before PreInitializeComponents (when handled from PlayerCameraManager).

code: virtual void RegisterCamera ( [APlayerCameraManager](API\Runtime\Engine\Camera\APlayerCameraManager) * CameraManager )


code: virtual bool ResetWhenTriggered() const


code: virtual bool ShouldAllowMultipleInstances() const


description: Is this emitter functionally equivalent to the class OtherEmitter?

code: virtual bool ShouldTreatEmitterAsSame ( [TSubclassOf](API\Runtime\CoreUObject\Templates\TSubclassOf)< [AActor](API\Runtime\Engine\GameFramework\AActor) > OtherEmitter ) const


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


className: ANiagaraLensEffectBase

description: Niagara equivalent ofAEmitterCameraLensEffectBase. This class is supported byAPlayerCameraManager(viaICameraLensEffectInterface) as a camera lens effect.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, Blueprintable, HideCategories=(NiagaraActorActivation, "Components|Activation", Input, Collision, "Game|Damage"), MinimalAPI) class ANiagaraLensEffectBase : public [ANiagaraActor](API\Plugins\Niagara\ANiagaraActor), public [ICameraLensEffectInterface](API\Runtime\Engine\Camera\ICameraLensEffectInterface)

bAllowMultipleInstances

type: uint8: 1

description: Are multiple instances of the effect allowed? When disabled, a single instance of the effect may be retriggered!

BaseAuthoredFOV

description: FOVs that differ from this may cause adjustments in positioning.

bResetWhenRetriggered

description: When an instance of this effect is retriggered (because more than one instance is not allowed) should the particle system be explicitly reset? Activate(bReset = true);

DesiredRelativeTransform

type: FTransform

description: Relative offset from the camera (where X is out from the camera) Might be changed slightly when the FOV is different than expected.

EmittersToTreatAsSame

type: TArray<TSubcla...

description: If an effect class in this array is currently playing, do not play this effect.

OwningCameraManager

type: TObjectPtr<APl...


description: Overridable native event for when play begins for this actor.

code: virtual void BeginPlay()


className: FFocusOnComponent

code: typedef TBaseDelegate_OneParam< void, [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * > FFocusOnComponent


description: Dispatches the once-per frameTick()function for this actor

code: virtual void TickActor ( float DeltaTime, enum ELevelTick TickType, [FActorTickFunction](API\Runtime\Engine\Engine\FActorTickFunction) & ThisTickFunction )


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


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, BlueprintImplementableEvent, CallInEditor, Category="Niagara|Preview") void SetLabelText ( const [FText](API\Runtime\Core\Internationalization\FText) & InXAxisText, const [FText](API\Runtime\Core\Internationalization\FText) & InYAxisText )


className: ANiagaraPerfBaselineActor

description: Actor that controls how the baseline system behaves and also controls stats gathering for.

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

Controller

type: TObjectPtr<UNi...

Label

type: TObjectPtr<UTe...


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, BlueprintImplementableEvent, CallInEditor, Category="Niagara|Preview") void SetSystem ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * InSystem )


description: If true, actor is ticked even if TickType==LEVELTICK_ViewportsOnly

code: virtual bool ShouldTickIfViewportsOnly() const


className: ANiagaraPreviewBase

description: Base actor for preview actors used inUNiagaraPreviewAxis.

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract, Blueprintable, Transient) class ANiagaraPreviewBase : public [AActor](API\Runtime\Engine\GameFramework\AActor)


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Preview) void ActivatePreviews ( bool bReset )


description: Called before destroying the object. This is called immediately upon deciding to destroy the object, to allow the object to begin an asynchronous cleanup process.

code: virtual void BeginDestroy()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Preview) void GetPreviews ( [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * > & OutPreviews )


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

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


description: Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

code: virtual void PostLoad()


code: [UFUNCTION](Programming/UnrealArchitecture/Reference/Functions)(BlueprintCallable, Category=Preview) void SetPaused ( bool bPaused )


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


className: ANiagaraPreviewGrid

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

PreviewAxisX

description: Object controlling behavior varying on the X axis.

PreviewAxisY

description: Object controlling behavior varying on the Y axis.

PreviewClass

type: TSubclassOf<AN...

description: Class used to for previews in this grid.

ResetMode

type: ENiagaraPreview...

SpacingX

type: float

description: TODO: Have the preview actor/class define the size of the preview to make spacing eaiser.

SpacingY

description: The default spacing between previews if the axis does not override it.


className: BarycentricInterpolate

code: template<typename T> T BarycentricInterpolate ( FVector3f BaryCoord, T V0, T V1, T V2 )


description: Overload for FVector4 to work around C2719: (formal parameter with requested alignment of 16 won't be aligned)

code: FVector4 BarycentricInterpolate ( FVector3f BaryCoord, const FVector4 & V0, const FVector4 & V1, const FVector4 & V2 )


code: template<typename T> T BarycentricInterpolate ( float BaryX, float BaryY, float BaryZ, T V0, T V1, T V2 )


code: FVector4 BarycentricInterpolate ( float BaryX, float BaryY, float BaryZ, const FVector4 & V0, const FVector4 & V1, const FVector4 & V2 )


className: CQDIPerInstanceData

code: struct CQDIPerInstanceData

CollisionBatch

type: FNiagaraDIColli...

SystemInstance

type: FNiagaraSystemI...


className: EditorExposedVectorConstant

code: struct EditorExposedVectorConstant


className: EditorExposedVectorCurveConstant

code: struct EditorExposedVectorCurveConstant

Value

type: UCurveVector&#...


className: ENCPoolMethod

code: enum ENCPoolMethod { None, AutoRelease, ManualRelease, ManualRelease_OnComplete, FreeInPool, }


code: namespace ENDICollisionQuery_AsyncGpuTraceProvider { enum Type { Default = 0, HWRT = 1, GSDF = 2, None = 3, } }


code: enum ENDIExport_GPUAllocationMode { FixedSize, PerParticle, }


code: enum ENDILandscape_SourceMode { Default, Source, AttachParent, }


code: enum ENDISkeletalMesh_SkinningMode { Invalid = (uint8)-1, None = 0, SkinOnTheFly, PreSkin, }


code: enum ENDISkeletalMesh_FilterMode { None, SingleRegion, MultiRegion, }


code: enum ENDISkeletalMesh_SourceMode { Default, Source, AttachParent, }


description: This enum must match the order in NiagaraDataInterfaceSkeletalMesh.ush.

code: namespace ENDISkelMesh_AdjacencyTriangleIndexFormat { enum Type { Full = 0, Half = 1, } }


code: enum ENDISkelMesh_AreaWeightingMode { None, AreaWeighted, }


code: namespace ENDISkelMesh_GpuMaxInfluences { enum Type { AllowMax4 = 0, AllowMax8 = 1, Unlimited = 2, } }


code: namespace ENDISkelMesh_GpuUniformSamplingFormat { enum Type { Full = 0, Limited_24_8 = 1, Limited_23_9 = 2, } }


className: ENiagaraAgeUpdateMode

description: Defines modes for updating the component's age.

code: enum ENiagaraAgeUpdateMode { TickDeltaTime, DesiredAge, DesiredAgeNoSeek, }


className: ENiagaraBakerViewMode

code: enum ENiagaraBakerViewMode { Perspective, OrthoFront, OrthoBack, OrthoLeft, OrthoRight, OrthoTop, OrthoBottom, Num, }


className: ENiagaraBaseTypes

code: enum ENiagaraBaseTypes { Half, Float, Int32, Bool, Max, }


className: ENiagaraBindingSource

code: enum ENiagaraBindingSource { ImplicitFromSource = 0, ExplicitParticles, ExplicitEmitter, ExplicitSystem, ExplicitUser, MaxBindingSource, }


className: ENiagaraBoolDisplayMode

code: enum ENiagaraBoolDisplayMode { DisplayAlways, DisplayIfTrue, DisplayIfFalse, }


className: ENiagaraCollisionMode

code: enum ENiagaraCollisionMode { None = 0, SceneGeometry, DepthBuffer, DistanceField, }


className: ENiagaraCompileUsageStaticSwitch

description: Defines different usages for a niagara script.

code: enum ENiagaraCompileUsageStaticSwitch { Spawn, Update, Event, SimulationStage, Default, }


className: ENiagaraConditionalOperator

code: enum ENiagaraConditionalOperator { Equals, NotEqual, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, Max, }


className: ENiagaraCullProxyMode

description: Controls how cull proxies should be handled for a system.

code: enum ENiagaraCullProxyMode { None, Instanced_Rendered, }


className: ENiagaraCoordinateSpace

code: enum ENiagaraCoordinateSpace { Simulation, World, Local, }


className: ENiagaraCullReaction

description: Controls what action is taken by a Niagara system that fails it's cull checks.

code: enum ENiagaraCullReaction { Deactivate, DeactivateImmediate, DeactivateResume, DeactivateImmediateResume, PauseResume, }


className: ENiagaraCVarConditionResponse

code: enum ENiagaraCVarConditionResponse { None, Enable, Disable, }


className: ENiagaraDataInterfaceEmitterBindingMode

code: enum ENiagaraDataInterfaceEmitterBindingMode { Self, Other, }


className: ENiagaraDebugHUDDOverviewSort

code: enum ENiagaraDebugHUDDOverviewSort { Name, NumberRegistered, NumberActive, NumberScalability, MemoryUsage, RecentlyVisibilty, }


className: ENiagaraDataSetType

code: enum ENiagaraDataSetType { ParticleData, Shared, Event, }


className: ENiagaraDebugHudFont

code: enum ENiagaraDebugHudFont { Small = 0, Normal, }


className: ENiagaraDebugHudHAlign

code: enum ENiagaraDebugHudHAlign { Left, Center, Right, }


className: ENiagaraDebugHUDOverviewMode

code: enum ENiagaraDebugHUDOverviewMode { Overview, Scalability, Performance, PerformanceGraph, GpuComputePerformance, }


className: ENiagaraDebugHUDPerfGraphMode

code: enum ENiagaraDebugHUDPerfGraphMode { GameThread, RenderThread, GPU, }


className: ENiagaraDebugHUDPerfSampleMode

code: enum ENiagaraDebugHUDPerfSampleMode { FrameTotal, PerInstanceAverage, }


className: ENiagaraDebugHudVAlign

code: enum ENiagaraDebugHudVAlign { Top, Center, Bottom, }


className: ENiagaraDebugHudVerbosity

code: enum ENiagaraDebugHudVerbosity { None, Basic, Verbose, }


className: ENiagaraDebugMessageType

code: enum ENiagaraDebugMessageType { Info, Warning, Error, }


className: ENiagaraDebugPlaybackMode

description: End of messages.

code: enum ENiagaraDebugPlaybackMode { Play = 0, Loop, Paused, Step, }


className: ENiagaraDefaultGpuTranslucentLatency

code: enum ENiagaraDefaultGpuTranslucentLatency { Immediate, Latent, }


className: ENiagaraDefaultMode

description: TODO: Custom will eventually mean that the default value or binding will be overridden by a subgraph default, i.e. expose it to a "Initialize variable" node. TODO: Should we add an "Uninitialized" entry, or is that too much friction?

code: enum ENiagaraDefaultMode { Value = 0, Binding, Custom, FailIfPreviouslyNotSet, }


description: How to handle how Niagara rendered effects should generate motion vectors by default (can still be overridden on a case-by-case basis)

code: enum ENiagaraDefaultRendererMotionVectorSetting { Precise, Approximate, }


className: ENiagaraDefaultSortPrecision

code: enum ENiagaraDefaultSortPrecision { Low, High, }


code: enum ENiagaraDefaultRendererPixelCoverageMode { Enabled, Disabled, }


className: ENiagaraDeviceProfileRedirectMode

code: enum ENiagaraDeviceProfileRedirectMode { CVar, DeviceProfile, }


className: ENiagaraEmitterCalculateBoundMode

code: enum ENiagaraEmitterCalculateBoundMode { Dynamic, Fixed, Programmable, }


className: ENiagaraEmptyUAVType

description: Type of empty UAV to get.

code: enum ENiagaraEmptyUAVType { Buffer, Texture2D, Texture2DArray, Texture3D, TextureCube, TextureCubeArray, Num, }


className: ENiagaraEmitterDefaultSummaryState

code: enum ENiagaraEmitterDefaultSummaryState { Default, Summary, }


className: ENiagaraExecutionStateSource

description: The source from which a script execution state was set. Used to allow scalability etc to change the state but only if the state has not been defined by something with higher precedence. If this changes, all scripts must be recompiled by bumping the NiagaraCustomVersion

code: enum ENiagaraExecutionStateSource { Scalability, Internal, Owner, InternalCompletion, }


className: ENiagaraExecutionState

code: enum ENiagaraExecutionState { Active, Inactive, InactiveClear, Complete, Disabled, Num, }


className: ENiagaraFunctionDebugState

code: enum ENiagaraFunctionDebugState { NoDebug, Basic, }


className: ENiagaraGpuBufferFormat

description: Niagara supported buffer formats on the GPU.

code: enum ENiagaraGpuBufferFormat { Float, HalfFloat, UnsignedNormalizedByte, Max, }


description: Enum used to track stage that GPU compute proxies will execute in.

code: namespace ENiagaraGpuComputeTickStage { enum Type { PreInitViews, PostInitViews, PostOpaqueRender, Max, First = PreInitViews, Last = PostOpaqueRender, } }


code: namespace ENiagaraGPUCountUpdatePhase { enum Type { PreOpaque, PostOpaque, Max, } }


className: ENiagaraGpuSyncMode

code: enum ENiagaraGpuSyncMode { None, SyncCpuToGpu, SyncGpuToCpu, SyncBoth, }


className: ENiagaraGPUTickHandlingMode

code: enum ENiagaraGPUTickHandlingMode { None, GameThread, Concurrent, GameThreadBatched, ConcurrentBatched, }


description: Defines usages for inline dynamic input format tokens.

code: enum ENiagaraInlineDynamicInputFormatTokenUsage { Input, Decorator, LineBreak, }


className: ENiagaraInputNodeUsage

code: enum ENiagaraInputNodeUsage { Undefined = 0, Parameter, Attribute, SystemConstant, TranslatorConstant, RapidIterationParameter, }


className: ENiagaraInputWidgetType

code: enum ENiagaraInputWidgetType { Default, Slider, Volume, NumericDropdown, EnumStyle, }


className: ENiagaraKnownConstantType

code: enum ENiagaraKnownConstantType { Attribute, Other, }


className: ENiagaraLegacyTrailWidthMode

description: Controls the way that the width scale property affects animation trails. Only used for Legacy Anim Trail support when converting from Cascade to Niagara.

code: enum ENiagaraLegacyTrailWidthMode { FromCentre, FromFirst, FromSecond, }


className: ENiagaraMeshFacingMode

description: This enum decides how a mesh particle will orient its "facing" axis relative to camera. Must keep these in sync with NiagaraMeshVertexFactory.ush

code: enum ENiagaraMeshFacingMode { Default = 0, Velocity, CameraPosition, CameraPlane, }


className: ENiagaraMeshLockedAxisSpace

code: enum ENiagaraMeshLockedAxisSpace { Simulation, World, Local, }


className: ENiagaraMeshPivotOffsetSpace

code: enum ENiagaraMeshPivotOffsetSpace { Mesh, Simulation, World, Local, }


code: namespace ENiagaraMeshVFLayout { enum Type { Position, Velocity, Color, Scale, Rotation, MaterialRandom, NormalizedAge, CustomSorting, SubImage, DynamicParam0, DynamicParam1, DynamicParam2, DynamicParam3, CameraOffset, Num_Default, PrevPosition = Num_Default, PrevScale, PrevRotation, PrevCameraOffset, PrevVelocity, Num_Max, } }


className: ENiagaraMipMapGeneration

code: enum ENiagaraMipMapGeneration { Disabled, PostStage, PostSimulate, }


code: enum ENiagaraModuleDependencyScriptConstraint { SameScript, AllScripts, }


className: ENiagaraModuleDependencyUsage

description: Defines different usages for a niagara script's module dependecies.

code: enum ENiagaraModuleDependencyUsage { None, Spawn, Update, Event, SimulationStage, }


className: ENiagaraModuleDependencyType

code: enum ENiagaraModuleDependencyType { PreDependency, PostDependency, }


className: ENiagaraNumericOutputTypeSelectionMode

description: Defines different modes for selecting the output numeric type of a function or operation based on the types of the inputs.

code: enum ENiagaraNumericOutputTypeSelectionMode { None, Largest, Smallest, Scalar, Custom, }


className: ENiagaraOcclusionQueryMode

code: enum ENiagaraOcclusionQueryMode { Default, AlwaysEnabled, AlwaysDisabled, }


className: ENiagaraOrientationAxis

code: enum ENiagaraOrientationAxis { XAxis, YAxis, ZAxis, }


className: ENiagaraPlatformSelectionState

code: enum ENiagaraPlatformSelectionState { Default, Enabled, Disabled, }


className: ENiagaraParameterBindingUsage

description: Binding usage flags Note that Emitter / Particle bindings are only allowed if the binding variable is outered to aUNiagaraEmitter

code: enum ENiagaraParameterBindingUsage { User = 1 << 0, System = 1 << 1, Emitter = 1 << 2, Particle = 1 << 3, StaticVariable = 1 << 4, NotParticle = StaticVariable | User | System | Emitter, All = StaticVariable | User | System | Emitter | Particle, }


className: ENiagaraPlatformSetState

code: enum ENiagaraPlatformSetState { Disabled, Enabled, Active, Unknown, }


className: ENiagaraPreviewGridResetMode

code: enum ENiagaraPreviewGridResetMode { Never, Individual, All, }


className: ENiagaraPythonUpdateScriptReference

code: enum ENiagaraPythonUpdateScriptReference { None, ScriptAsset, DirectTextEntry, }


className: ENiagaraRendererGpuTranslucentLatency

code: enum ENiagaraRendererGpuTranslucentLatency { ProjectDefault, Immediate, Latent, }


className: ENiagaraRendererMotionVectorSetting

description: How a given Niagara renderer should handle motion vector generation.

code: enum ENiagaraRendererMotionVectorSetting { AutoDetect, Precise, Approximate, Disable, }


className: ENiagaraRendererPixelCoverageMode

code: enum ENiagaraRendererPixelCoverageMode { Automatic, Disabled, Enabled, Enabled_RGBA, Enabled_RGB, Enabled_A, }


className: ENiagaraRendererSortPrecision

code: enum ENiagaraRendererSortPrecision { Default, Low, High, }


className: ENiagaraRendererSourceDataMode

description: This enum decides how a renderer will attempt to process the incoming data from the stack.

code: enum ENiagaraRendererSourceDataMode { Particles = 0, Emitter, }


className: ENiagaraResourceAccess

code: enum ENiagaraResourceAccess { ReadOnly, WriteOnly, ReadWrite, }


className: ENiagaraRibbonAgeOffsetMode

description: Defines different modes for offsetting UVs by age when ordering ribbon particles using normalized age.

code: enum ENiagaraRibbonAgeOffsetMode { Scale, Clip, }


className: ENiagaraRibbonDrawDirection

description: This enum decides in which order the ribbon segments will be rendered

code: enum ENiagaraRibbonDrawDirection { FrontToBack, BackToFront, }


className: ENiagaraRibbonFacingMode

code: enum ENiagaraRibbonFacingMode { Screen = 0, Custom, CustomSideVector, }


className: ENiagaraRibbonShapeMode

code: enum ENiagaraRibbonShapeMode { Plane, MultiPlane, Tube, Custom, }


className: ENiagaraRibbonTessellationMode

code: enum ENiagaraRibbonTessellationMode { Automatic, Custom, Disabled, }


className: ENiagaraRibbonUVDistributionMode

description: Specifies options for distributing UV values across ribbon segments.

code: enum ENiagaraRibbonUVDistributionMode { ScaledUniformly, ScaledUsingRibbonSegmentLength, TiledOverRibbonLength, TiledFromStartOverRibbonLength, }


className: ENiagaraRibbonUVEdgeMode

description: Specifies options for handling UVs at the leading and trailing edges of ribbons.

code: enum ENiagaraRibbonUVEdgeMode { SmoothTransition, Locked, }


code: namespace ENiagaraRibbonVFLayout { enum Type { Position, Velocity, Color, Width, Twist, Facing, NormalizedAge, MaterialRandom, MaterialParam0, MaterialParam1, MaterialParam2, MaterialParam3, DistanceFromStart, U0Override, V0RangeOverride, U1Override, V1RangeOverride, PrevPosition, PrevRibbonWidth, PrevRibbonFacing, PrevRibbonTwist, Num, } }


className: ENiagaraScalabilityCullingMode

code: enum ENiagaraScalabilityCullingMode { Enabled, Paused, Disabled, }


className: ENiagaraScalabilityUpdateFrequency

description: Controls how often should we update scalability states for these effects.

code: enum ENiagaraScalabilityUpdateFrequency { SpawnOnly, Low, Medium, High, Continuous, }


className: ENiagaraScriptCompileStatus

description: Enumerates states a Niagara script can be in.

code: enum ENiagaraScriptCompileStatus { NCS_Unknown, NCS_Dirty, NCS_Error, NCS_UpToDate, NCS_BeingCreated, NCS_UpToDateWithWarnings, NCS_ComputeUpToDateWithWarnings, NCS_MAX, }


className: ENiagaraScriptContextStaticSwitch

description: Defines different execution contexts for a niagara script.

code: enum ENiagaraScriptContextStaticSwitch { System, Emitter, Particle, }


className: ENiagaraScriptGroup

code: enum ENiagaraScriptGroup { Particle = 0, Emitter, System, Max, }


className: ENiagaraScriptLibraryVisibility

code: enum ENiagaraScriptLibraryVisibility { Invalid = 0, Unexposed, Library, Hidden, }


className: ENiagaraScriptTemplateSpecification

code: enum ENiagaraScriptTemplateSpecification { None, Template, Behavior, }


className: ENiagaraScriptUsage

description: Defines different usages for a niagara script.

module: The script defines a module for use in particle, emitter, or system scripts.

code: enum ENiagaraScriptUsage { Function, Module, DynamicInput, ParticleSpawnScript, ParticleSpawnScriptInterpolated, ParticleUpdateScript, ParticleEventScript, ParticleSimulationStageScript, ParticleGPUComputeScript, EmitterSpawnScript, EmitterUpdateScript, SystemSpawnScript, SystemUpdateScript, }


description: Defines common bit masks for script usage

code: namespace ENiagaraScriptUsageMask { enum Type { System = (1 << int32(ENiagaraScriptUsage::Module)) | (1 << int32(ENiagaraScriptUsage::DynamicInput)) | (1 << int32(ENiagaraScriptUsage::Function)) | (1 << int32(ENiagaraScriptUsage::SystemSpawnScript)) | (1 << int32(ENiagaraScriptUsage::SystemUpdateScript)), Emitter = (1 << int32(ENiagaraScriptUsage::Module)) | (1 << int32(ENiagaraScriptUsage::DynamicInput)) | (1 << int32(ENiagaraScriptUsage::Function)) | (1 << int32(ENiagaraScriptUsage::EmitterSpawnScript)) | (1 << int32(ENiagaraScriptUsage::EmitterUpdateScript)), Particle = (1 << int32(ENiagaraScriptUsage::Module)) | (1 << int32(ENiagaraScriptUsage::DynamicInput)) | (1 << int32(ENiagaraScriptUsage::Function)) | (1 << int32(ENiagaraScriptUsage::ParticleSpawnScript)) | (1 << int32(ENiagaraScriptUsage::ParticleSpawnScriptInterpolated)) | (1 << int32(ENiagaraScriptUsage::ParticleUpdateScript)) | (1 << int32(ENiagaraScriptUsage::ParticleEventScript)) | (1 << int32(ENiagaraScriptUsage::ParticleSimulationStageScript)) | (1 << int32(ENiagaraScriptUsage::ParticleGPUComputeScript)), } }


className: ENiagaraSimTarget

code: enum ENiagaraSimTarget { CPUSim, GPUComputeSim, }


className: ENiagaraSimCacheAttributeCaptureMode

code: enum ENiagaraSimCacheAttributeCaptureMode { All, RenderingOnly, ExplicitAttributes, }


className: ENiagaraSortMode

code: enum ENiagaraSortMode { None, ViewDepth, ViewDistance, CustomAscending, CustomDecending, }


className: ENiagaraSpriteFacingMode

description: This enum decides how a sprite particle will orient its "facing" axis. Must keep these in sync with NiagaraSpriteVertexFactory.ush

code: enum ENiagaraSpriteFacingMode { FaceCamera, FaceCameraPlane, CustomFacingVector, FaceCameraPosition, FaceCameraDistanceBlend, Automatic, }


className: ENiagaraSpriteAlignment

description: This enum decides how a sprite particle will orient its "up" axis. Must keep these in sync with NiagaraSpriteVertexFactory.ush

code: enum ENiagaraSpriteAlignment { Unaligned, VelocityAligned, CustomAlignment, Automatic, }


code: namespace ENiagaraSpriteVFLayout { enum Type { Position, Color, Velocity, Rotation, Size, Facing, Alignment, SubImage, MaterialParam0, MaterialParam1, MaterialParam2, MaterialParam3, CameraOffset, UVScale, PivotOffset, MaterialRandom, CustomSorting, NormalizedAge, Num_Default, PrevPosition = Num_Default, PrevVelocity, PrevRotation, PrevSize, PrevFacing, PrevAlignment, PrevCameraOffset, PrevPivotOffset, Num_Max, } }


className: ENiagaraStatDisplayMode

code: enum ENiagaraStatDisplayMode { Percent, Absolute, }


className: ENiagaraScriptMiscUsageMask

description: Misc usage flag for script to transmit informations. Limited to 16 bits, see MiscUsageBitMaskType.

code: enum ENiagaraScriptMiscUsageMask { UsesPartialDepthCollisionQuery = 1<<0, }


className: ENiagaraStructConversion

code: enum ENiagaraStructConversion { UserFacing, Simulation, }


className: ENiagaraStatEvaluationType

code: enum ENiagaraStatEvaluationType { Average, Maximum, }


className: ENiagaraStructConversionType

code: enum ENiagaraStructConversionType { CopyOnly, DoubleToFloat, Vector2, Vector3, Vector4, Quat, }


className: ENiagaraSystemInstanceState

code: enum ENiagaraSystemInstanceState { None, PendingSpawn, PendingSpawnPaused, Spawning, Running, Paused, Num, }


className: ENiagaraSystemSimulationScript

description: All scripts that will use the system script execution context.

code: enum ENiagaraSystemSimulationScript { Spawn, Update, Num, }


className: ENiagaraTickBehavior

description: Niagara ticking behaviour

code: enum ENiagaraTickBehavior { UsePrereqs, UseComponentTickGroup, ForceTickFirst, ForceTickLast, }


className: ENiagaraTypeRegistryFlags

code: enum ENiagaraTypeRegistryFlags { None = 0, AllowUserVariable = (1 << 0), AllowSystemVariable = (1 << 1), AllowEmitterVariable = (1 << 2), AllowParticleVariable = (1 << 3), AllowAnyVariable = (AllowUserVariable | AllowSystemVariable | AllowEmitterVariable | AllowParticleVariable), AllowParameter = (1 << 4), AllowPayload = (1 << 5), IsUserDefined = (1 << 6), }


className: ENiagaraValidationSeverity

code: enum ENiagaraValidationSeverity { Info, Warning, Error, }


className: ENiagaraVariantMode

code: enum ENiagaraVariantMode { None, Object, DataInterface, Bytes, }


code: namespace ENiagaraVolumeVFLayout { enum Type { Position, Rotation, Scale, RendererVisibilityTag, VolumeResolutionMaxAxis, VolumeWorldSpaceSize, Num, } }


code: enum ENiagraDataChannel_IslandMode { AlignedStatic, Dynamic, }


className: EParticleAllocationMode

code: enum EParticleAllocationMode { AutomaticEstimate = 0, ManualEstimate, FixedCount, }


className: EScriptExecutionMode

code: enum EScriptExecutionMode { EveryParticle = 0, SpawnedParticles, SingleParticle, }


className: ESetResolutionMethod

code: enum ESetResolutionMethod { Independent, MaxAxis, CellSize, }


className: EUnusedAttributeBehaviour

description: Defines what will happen to unused attributes when a script is run.

code: enum EUnusedAttributeBehaviour { Copy, Zero, None, MarkInvalid, PassThrough, }


className: EvalConditional

code: template<typename T> bool EvalConditional ( [ENiagaraConditionalOperator](API\Plugins\Niagara\ENiagaraConditionalOperator) Op, const T & A, const T & B )


className: EVolumeCacheType

code: enum EVolumeCacheType { OpenVDB, }


code: const FMeshUvMappingBufferProxy * GetQuadTreeProxy() const


code: [FMeshUvMappingHandleBase](API\Plugins\Niagara\Experimental\FMeshUvMappingHandleBase) & operator= ( const [FMeshUvMappingHandleBase](API\Plugins\Niagara\Experimental\FMeshUvMappingHandleBase) & Other )


className: FMeshUvMappingHandleBase::operator bool

code: operator bool() const


code: [FMeshUvMappingHandleBase](API\Plugins\Niagara\Experimental\FMeshUvMappingHandleBase) & operator= ( [FMeshUvMappingHandleBase](API\Plugins\Niagara\Experimental\FMeshUvMappingHandleBase) && Other )


code: FMeshUvMappingHandleBase ( const [FMeshUvMappingHandleBase](API\Plugins\Niagara\Experimental\FMeshUvMappingHandleBase) & Other )


code: FMeshUvMappingHandleBase ( [FMeshUvMappingHandleBase](API\Plugins\Niagara\Experimental\FMeshUvMappingHandleBase) && Other )


code: FMeshUvMappingHandleBase ( [FMeshUvMappingUsage](API\Plugins\Niagara\Experimental\FMeshUvMappingUsage) InUsage, const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< FMeshUvMapping > & InUvMappingData, bool bNeedsDataImmediately )


className: FMeshUvMappingHandleBase

code: struct FMeshUvMappingHandleBase

Usage

type: FMeshUvMappingU...

UvMappingData

type: TSharedPtr< FMe...


code: FMeshUvMappingUsage ( bool InRequiresCpuAccess, bool InrequiresGpuAccess )


className: FSkeletalMeshUvMappingHandle

code: typedef [TTypedMeshUvMappingHandle](API\Plugins\Niagara\Experimental\TTypedMeshUvMappingHandle)< FSkeletalMeshUvMapping > FSkeletalMeshUvMappingHandle


className: FStaticMeshUvMappingHandle

code: typedef [TTypedMeshUvMappingHandle](API\Plugins\Niagara\Experimental\TTypedMeshUvMappingHandle)< FStaticMeshUvMapping > FStaticMeshUvMappingHandle


code: const MappingType * GetMappingData() const


code: [TTypedMeshUvMappingHandle](API\Plugins\Niagara\Experimental\TTypedMeshUvMappingHandle)< MappingType > & operator= ( [TTypedMeshUvMappingHandle](API\Plugins\Niagara\Experimental\TTypedMeshUvMappingHandle)< MappingType > && Other )


className: FMeshUvMappingUsage

code: struct FMeshUvMappingUsage

RequiresCpuAccess

type: bool


code: TTypedMeshUvMappingHandle ( [TTypedMeshUvMappingHandle](API\Plugins\Niagara\Experimental\TTypedMeshUvMappingHandle)< MappingType > && Other )


code: TTypedMeshUvMappingHandle ( [FMeshUvMappingUsage](API\Plugins\Niagara\Experimental\FMeshUvMappingUsage) InUsage, const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< MappingType > & InUvMappingData, bool bNeedsDataImmediately )


className: TTypedMeshUvMappingHandle

code: template<typename MappingType> struct TTypedMeshUvMappingHandle : public [FMeshUvMappingHandleBase](API\Plugins\Niagara\Experimental\FMeshUvMappingHandleBase)


className: FAudioParticleData

code: struct FAudioParticleData

Position

type: FVector

Rotation

type: FRotator


Attenuation

type: TWeakObjectPtr<...

HandleCount

type: FThreadSafeCoun...

LWCConverter

type: FNiagaraLWCConv...

ParameterNames

type: TArray<FName>

PersistentAudioActionQueue

type: TQueue<FPersis...

PersistentAudioMapping

type: TSortedMap< int...

PlayAudioQueue

type: TQueue<FAudioP...

description: We use a lock-free queue here because multiple threads might try to push data to it at the same time.

UserParamBinding

type: FNiagaraParamet...

description: A binding to the user ptr we're reading from (if we are).


className: FComponentIterationContext

code: struct FComponentIterationContext

ComponentRequiresUpdate

type: TBitArray

SignificanceIndices

type: TArray< int32 >

WorstGlobalBudgetUse

type: float


className: FBasicParticleData


CameraLocation

type: FNiagaraPositio...

DistanceSortQueue

type: TQueue<FDistan...

ParticlesSortedByDistance

type: TArray<FDistan...


className: FDataInterfaceSearchOptions

code: struct FDataInterfaceSearchOptions

bIncludeInternal

type: bool


className: FDataInterfaceUsageContext

code: struct FDataInterfaceUsageContext

DataInterface

type: UNiagaraDataInt...

OwnerObject

type: UObject*

Variable

type: FNiagaraVariabl...


className: CachedDeviceProfileValues

description: Cached values for any polled CVar on particular device profiles.

code: static [TMap](API\Runtime\Core\Containers\TMap)< const [UDeviceProfile](API\Runtime\Engine\DeviceProfiles\UDeviceProfile) *, [FCVarValueMap](API\Runtime\Core\Containers\TMap) > CachedDeviceProfileValues;


className: CachedPlatformValues

description: Cached values for any polled CVar from the platform ini files.

code: static [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FCVarValueMap](API\Runtime\Core\Containers\TMap) > CachedPlatformValues;


className: FCVarValueMap

code: typedef [TMap](API\Runtime\Core\Containers\TMap)< [IConsoleVariable](API\Runtime\Core\HAL\IConsoleVariable) *, [FNiagaraCVarValues](API\Plugins\Niagara\FNiagaraCVarValues) > FCVarValueMap


code: static const [FNiagaraCVarValues](API\Plugins\Niagara\FNiagaraCVarValues) & GetValues ( const [UDeviceProfile](API\Runtime\Engine\DeviceProfiles\UDeviceProfile) * DeviceProfile, [IConsoleVariable](API\Runtime\Core\HAL\IConsoleVariable) * CVar, [FName](API\Runtime\Core\UObject\FName) CVarName )


className: FDeviceProfileValueCache

description: Helper class for accessing and caching the value of CVars for device profiles.

code: struct FDeviceProfileValueCache


className: FDistanceData

code: struct FDistanceData

DistanceSquared

type: double

ParticleID

type: FNiagaraID


code: int32 FindAttributeIndexByName ( const [FName](API\Runtime\Core\UObject\FName) & InName, int32 NumChannels )


code: bool UpdateTargetTexture ( [ENiagaraGpuBufferFormat](API\Plugins\Niagara\ENiagaraGpuBufferFormat) BufferFormat )


NumCells

type: FIntPoint

Offsets

type: TArray< uint32 ...

OtherDI

description: We need to essentially make this a linked list to avoid more refactoring for now eventually we can clean this logic up, but this allows us to have a subclass that overrides the render thread data, which in this case is for a grid reader

PixelFormat

type: TOptional< EPix...

RTUserParamBinding

description: A binding to the user ptr we're reading the RT from (if we are).

TargetTexture

type: UTextureRenderT...

Vars

type: TArray<FNiagar...


code: void BeginSimulate ( [FRDGBuilder](API\Runtime\RenderCore\FRDGBuilder) & GraphBuilder, bool RequiresBuffering )


Buffers

type: TArray<TUnique...

OtherProxy

type: FNiagaraDataInt...

RenderTargetToCopyTo

type: FTextureRHIRef

SourceDIName

type: FName

type: TArray<FName>


CellSize

type: FVector

NumCells

type: FIntVector

RTUserParamBinding

type: FNiagaraParamet...


AttributeIndices

type: TArray< int32 >

bPreviewGrid

type: bool

PerAttributeData

type: FReadBuffer


code: FCriticalSection * GetCriticalSection()


className: FMemoryRuntimeEstimation

code: struct FMemoryRuntimeEstimation

RuntimeAllocations

type: TMap< uint64, i...


code: FMeshTriCoordinate ( int32 InTri, FVector3f InBaryCoord )


className: FMeshTriCoordinate

description: A coordinate on a mesh usable in Niagara. Do not alter this struct without updating the data interfaces that use it!


description: Gets a component from the pool ready for use.

code: [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Acquire ( [UWorld](API\Runtime\Engine\Engine\UWorld) * World, [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * Template, [ENCPoolMethod](API\Plugins\Niagara\ENCPoolMethod) PoolingMethod, bool bForceNew )


description: Kills any components that have not been used since the passed KillTime.

code: void KillUnusedComponents ( double KillTime, [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * Template )


description: Returns a component to the pool.

code: void Reclaim ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * NC, const double CurrentTimeSeconds )


description: Forces us to remove a component, returns true if the component exists inside the pool.

code: bool RemoveComponent ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * Component )


className: FNCPool

FreeElements

type: TArray<FNCPool...

description: Collection of all currently allocated, free items ready to be grabbed for use.


code: FNCPoolElement ( [UNiagaraComponent](API\Plugins\Niagara\UNiagaraComponent) * InNC, double InLastUsedTime )


className: FNCPoolElement

Component

type: TObjectPtr<UNi...

LastUsedTime

type: double


code: double DistanceToPoint ( FVector Point )


code: void Grow ( const FBoxSphereBounds & NewBounds )


code: void Init ( [UNiagaraDataChannelHandler_Islands](API\Plugins\Niagara\UNiagaraDataChannelHandler_Islan-) * Owner )


code: bool Intersects ( const FBoxSphereBounds & CheckBounds )


code: bool IsHandlerSystem ( [USceneComponent](API\Runtime\Engine\Components\USceneComponent) * Component )


code: void OnAcquired ( FVector Location )


code: [FNDCIsland](API\Plugins\Niagara\FNDCIsland) & operator= ( const [FNDCIsland](API\Plugins\Niagara\FNDCIsland) & )


code: [FNDCIsland](API\Plugins\Niagara\FNDCIsland) & operator= ( [FNDCIsland](API\Plugins\Niagara\FNDCIsland) && )


description: Attempt to grow this island such that it could contain the given point and element bounds. Returns true if growing succeeded and false if this island cannot contain this point.

code: bool TryGrow ( FVector Point, FVector PerElementExtents, FVector MaxIslandExtents )


code: FNDCIsland ( [FNDCIsland](API\Plugins\Niagara\FNDCIsland) && )


code: FNDCIsland ( const [FNDCIsland](API\Plugins\Niagara\FNDCIsland) & )


className: FNDCIsland

description: Data channel that will sub-divide the world into discreet islands based on distance. New islands will be created as needed and existing islands discarded when no longer used. Each Island can spawn one or more handler systems that will be in charge of reading and/or writing data for each channel. The location and bounds of these handler systems will be modified to cover the whole island.Data for a single data channel island.


className: FNDCIslandDebugDrawSettings

bEnabled

type: uint32:  1


className: bSupportsAtomicOps

code: static constexpr bool bSupportsAtomicOps = false;


className: FNDIArrayImplHelper

code: template<typename TArrayType> struct FNDIArrayImplHelper : public [FNDIArrayImplHelperBase< TArrayType >](API\Plugins\Niagara\FNDIArrayImplHelperBase)


className: bSupportsCPU

code: static constexpr bool bSupportsCPU = true;


className: bSupportsGPU

code: static constexpr bool bSupportsGPU = true;


description: Static constexpr TCHAR const* HLSLVariableType = TEXT("float"); static constexpr EPixelFormat ReadPixelFormat = PF_R32_FLOAT; static constexpr TCHAR const* ReadHLSLBufferType = TEXT("float"); static constexpr TCHAR const* ReadHLSLBufferRead = TEXT("Value = BUFFER_NAME[Index]"); static constexpr EPixelFormat RWPixelFormat = PF_R32_FLOAT; static constexpr TCHAR const* RWHLSLBufferType = TEXT("float"); static constexpr TCHAR const* RWHLSLBufferRead = TEXT("Value = BUFFER_NAME[Index]"); static constexpr TCHAR const* RWHLSLBufferWrite = TEXT("BUFFER_NAME[Index] = Value"); static constFNiagaraTypeDefinition& GetTypeDefinition() { returnFNiagaraTypeDefinition::GetFloatDef(); } static const TArrayType GetDefaultValue();

code: static void CopyCpuToCpuMemory ( TArrayType * Dest, const TArrayType * Src, int32 NumElements )


code: static void CopyCpuToGpuMemory ( void * Dest, const TArrayType * Src, int32 NumElements )


code: static void CopyGpuToCpuMemory ( void * Dest, const void * Src, int32 NumElements )


className: FNDIArrayImplHelperBase

code: template<typename TArrayType> struct FNDIArrayImplHelperBase


code: template<typename TArrayType> struct FNDIArrayInstanceData_GameThread

ArrayData

type: TArray< TArrayT...

ArrayRWGuard

type: FRWLock


code: void Initialize ( [FRHICommandListImmediate](API\Runtime\RHI\FRHICommandListImmediate) & RHICmdList, [FNiagaraGpuComputeDispatchInterface](API\Plugins\Niagara\FNiagaraGpuComputeDispatchInterf-) * InComputeInterface, int32 InDefaultElements, bool bRWGpuArray )


code: void UpdateData ( [FRHICommandList](API\Runtime\RHI\FRHICommandList) & RHICmdList, [TArray](API\Runtime\Core\Containers\TArray)< TArrayType > & InArrayData )


className: TVMArrayType

code: typedef typename [FNDIArrayImplHelper](API\Plugins\Niagara\FNDIArrayImplHelper)< TArrayType >::[TVMArrayType](API\Plugins\Niagara\FNDIArrayInstanceData_RenderThre-\TVMArrayType) TVMArrayType


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< T::bSupportsGPU >::Type UpdateDataImpl ( [FRHICommandList](API\Runtime\RHI\FRHICommandList) & RHICmdList, [TArray](API\Runtime\Core\Containers\TArray)< TArrayType > & InArrayData )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!T::bSupportsGPU >::Type UpdateDataImpl ( [FRHICommandList](API\Runtime\RHI\FRHICommandList) & RHICmdList, [TArray](API\Runtime\Core\Containers\TArray)< TArrayType > & InArrayData )


code: template<typename TArrayType> struct FNDIArrayInstanceData_RenderThread

ArrayBuffer

type: FBufferRHIRef

ArraySRV

type: FShaderResource...

ArrayUAV

type: FUnorderedAcces...

ComputeInterface

type: FNiagaraGpuComp...


code: virtual bool AppendCompileHash ( [FNiagaraCompileHashVisitor](API\Plugins\Niagara\FNiagaraCompileHashVisitor) * InVisitor ) const


code: virtual void ConsumePerInstanceDataFromGameThread ( void * PerInstanceData, const [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) & InstanceID )


code: virtual bool CopyToInternal ( [INDIArrayProxyBase](API\Plugins\Niagara\INDIArrayProxyBase) * InDestination ) const


code: virtual void DestroyPerInstanceData ( void * InPerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


code: virtual void DrawDebugHud ( [FNDIDrawDebugHudContext](API\Plugins\Niagara\FNDIDrawDebugHudContext) & DebugHudContext ) const


code: virtual bool Equals ( const [INDIArrayProxyBase](API\Plugins\Niagara\INDIArrayProxyBase) * InOther ) const


className: FGameToRenderInstanceData

code: struct FGameToRenderInstanceData


code: const TArray< TArrayType > & GetArray&40;&41;


code: FReadArrayRef &40; FReadArrayRef && &41;


code: FReadArrayRef &40; const FReadArrayRef & &41;


code: FReadArrayRef &40; TOwnerType &42; Owner, FNDIArrayInstanceData_GameThread< TArrayType > &42; InstanceData &41;


className: FReadArrayRef

code: struct FReadArrayRef


code: TArray< TArrayType > & GetArray&40;&41;


code: FWriteArrayRef &40; FWriteArrayRef && &41;


code: FWriteArrayRef &40; const FWriteArrayRef & &41;


code: FWriteArrayRef &40; TOwnerType &42; Owner, FNDIArrayInstanceData_GameThread< TArrayType > &42; InstanceData, bool bFromBP &41;


className: FWriteArrayRef

code: struct FWriteArrayRef


code: [TArray](API\Runtime\Core\Containers\TArray)< TArrayType > GetArrayData ( [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) InstanceID )


code: template<typename TToArrayType> [TArray](API\Runtime\Core\Containers\TArray)< TToArrayType > GetArrayDataCopy()


code: template<typename TToArrayType> TToArrayType GetArrayValue ( int Index )


code: TArrayType GetArrayValue ( [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) InstanceID, int Index )


description: Called before PreStage to get the dispatch arguments The default implementation is temporary and will call GetElementCount & GetGPUInstanceCountOffset to set direct arguments. This method will become a pure virtual in 5.3 to enforce its usage over the older methods.

code: virtual void GetDispatchArgs ( const [FNDIGpuComputeDispatchArgsGenContext](API\Plugins\Niagara\FNDIGpuComputeDispatchArgsGenCon-) & Context )


code: virtual bool GetFunctionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, const [FNiagaraDataInterfaceGeneratedFunction](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGeneratedFu-) & FunctionInfo, int FunctionInstanceIndex, [FString](API\Runtime\Core\Containers\FString) & OutHLSL ) const


description: INDIArrayProxyBase.

code: virtual void GetFunctions ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) > & OutFunctions ) const


code: virtual void GetParameterDefinitionHLSL ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL ) const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< T::bSupportsGPU >::Type GetParameterDefinitionHLSL_Internal ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL ) const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!T::bSupportsGPU >::Type GetParameterDefinitionHLSL_Internal ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo, [FString](API\Runtime\Core\Containers\FString) & OutHLSL ) const


code: virtual void GetVMExternalFunction ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< T::bSupportsAtomicOps >::Type GetVMExternalFunction_AtomicInternal ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!T::bSupportsAtomicOps >::Type GetVMExternalFunction_AtomicInternal ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< T::bSupportsCPU >::Type GetVMExternalFunction_Internal ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!T::bSupportsCPU >::Type GetVMExternalFunction_Internal ( const [FVMExternalFunctionBindingInfo](API\Plugins\Niagara\FVMExternalFunctionBindingInfo) & BindingInfo, void * InstanceData, FVMExternalFunction & OutFunc )


code: virtual bool InitPerInstanceData ( [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) * DataInterface, void * InPerInstanceData, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * SystemInstance )


code: bool IsRWGpuArray ( const [FNiagaraDataInterfaceGPUParamInfo](API\Plugins\NiagaraShader\FNiagaraDataInterfaceGPUParamInf-) & ParamInfo ) const


className: kSafeMaxElements

code: static constexpr int32 kSafeMaxElements = TNumericLimits<int32>::Max();


description: FNiagaraDataInterfaceProxyRW.

code: virtual int32 PerInstanceDataPassedToRenderThreadSize() const


code: virtual int32 PerInstanceDataSize() const


code: virtual void PostSimulate ( const [FNDIGpuComputePostSimulateContext](API\Plugins\Niagara\FNDIGpuComputePostSimulateContex-) & Context )


code: virtual void ProvidePerInstanceDataForRenderThread ( void * InDataForRenderThread, void * PerInstanceData, const [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) & InstanceID )


description: BP user parameter accessors, should remove if we every start to share the object between instances.

code: template<typename TFromArrayType> void SetArrayData ( TConstArrayView< TFromArrayType > InArrayData )


code: template<typename TFromArrayType> void SetArrayValue ( int Index, const TFromArrayType & Value, bool bSizeToFit )


code: void SetArrayValue ( [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) InstanceID, int Index, const TArrayType & Value, bool bSizeToFit )


description: VM accessors to ensure we maintain per correctness for shared data interfaces.

code: void SetInstanceArrayData ( [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) InstanceID, const [TArray](API\Runtime\Core\Containers\TArray)< TArrayType > & InArrayData )


code: virtual void SetShaderParameters ( [FShaderParameters](API\Plugins\Niagara\INDIArrayProxyBase\FShaderParameters) * ShaderParameters, [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) SystemInstanceID ) const


code: typedef typename [FNDIArrayImplHelper](API\Plugins\Niagara\FNDIArrayImplHelper)< TArrayType >::[TVMArrayType](API\Plugins\Niagara\FNDIArrayProxyImpl\TVMArrayType) TVMArrayType


code: virtual bool UpgradeFunctionCall ( [FNiagaraFunctionSignature](API\Plugins\Niagara\FNiagaraFunctionSignature) & FunctionSignature ) const


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!T::bSupportsAtomicOps >::Type VMAtomicAdd ( FVectorVMExternalFunctionContext & Context )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< T::bSupportsAtomicOps >::Type VMAtomicAdd ( FVectorVMExternalFunctionContext & Context )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!T::bSupportsAtomicOps >::Type VMAtomicMax ( FVectorVMExternalFunctionContext & Context )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< T::bSupportsAtomicOps >::Type VMAtomicMax ( FVectorVMExternalFunctionContext & Context )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)<!T::bSupportsAtomicOps >::Type VMAtomicMin ( FVectorVMExternalFunctionContext & Context )


code: template<typename T> [TEnableIf](API\Runtime\Core\Templates\TEnableIf)< T::bSupportsAtomicOps >::Type VMAtomicMin ( FVectorVMExternalFunctionContext & Context )


code: void VMClear ( FVectorVMExternalFunctionContext & Context )


code: void VMGetLastIndex ( FVectorVMExternalFunctionContext & Context )


code: void VMGetLength ( FVectorVMExternalFunctionContext & Context )


code: void VMGetValue ( FVectorVMExternalFunctionContext & Context )


code: void VMIsValidIndex ( FVectorVMExternalFunctionContext & Context )


code: void VMPopValue ( FVectorVMExternalFunctionContext & Context )


code: void VMPushValue ( FVectorVMExternalFunctionContext & Context )


code: void VMResize ( FVectorVMExternalFunctionContext & Context )


code: void VMSetValue ( FVectorVMExternalFunctionContext & Context )


code: FNDIArrayProxyImpl ( TOwnerType * InOwner )


className: FNDIArrayProxyImpl

code: template<typename TArrayType, class TOwnerType> struct FNDIArrayProxyImpl : public [INDIArrayProxyBase](API\Plugins\Niagara\INDIArrayProxyBase)


code: template<typename T> T * GetPerInstanceData()


className: FNDICpuPrePostStageContext

description: Context for pre and post stage ticks for DIs on the CPU. A similar tick flow also occurs for stages on the GPU via the proxy and dispatcher.

code: struct FNDICpuPrePostStageContext

DeltaSeconds

type: float

PerInstanceData

type: void *

SystemInstance

type: FNiagaraSystemI...

Usage

type: ENiagaraScriptU...


code: [UCanvas](API\Runtime\Engine\Engine\UCanvas) * GetCanvas() const


code: const [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * GetSystemInstance() const


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


code: FNDIDrawDebugHudContext ( bool bInVerbose, [UWorld](API\Runtime\Engine\Engine\UWorld) * InWorld, [UCanvas](API\Runtime\Engine\Engine\UCanvas) * InCanvas, [FNiagaraSystemInstance](API\Plugins\Niagara\FNiagaraSystemInstance) * InSystemInstance )


className: FNDIDrawDebugHudContext

code: struct FNDIDrawDebugHudContext

bVerbose

type: bool

Canvas

type: UCanvas*

OutputString

type: FString

World

type: UWorld*


code: const [FNiagaraGpuComputeDispatchInterface](API\Plugins\Niagara\FNiagaraGpuComputeDispatchInterf-) & GetComputeDispatchInterface() const


code: [FRDGExternalAccessQueue](API\Runtime\RenderCore\FRDGExternalAccessQueue) & GetRDGExternalAccessQueue() const


code: [FRDGBuilder](API\Runtime\RenderCore\FRDGBuilder) & GetGraphBuilder() const


code: FNDIGpuComputeContext ( [FRDGBuilder](API\Runtime\RenderCore\FRDGBuilder) & InGraphBuilder, const [FNiagaraGpuComputeDispatchInterface](API\Plugins\Niagara\FNiagaraGpuComputeDispatchInterf-) & InComputeDispatchInterface )


className: FNDIGpuComputeContext

code: struct FNDIGpuComputeContext

ComputeDispatchInterface

type: constFNiagaraG...

GraphBuilder

type: FRDGBuilder&


description: Add buffer / texture access used for batching transitions together.

code: void AddBufferAccess ( [FRDGBuffer](API\Runtime\RenderCore\FRDGBuffer) * InBuffer, ERHIAccess InAccess ) const


description: Create indirect buffer from count values that are held in the GPU count buffer The returned indirect argument information can be kept around for the current frame

code: [FIndirectArgs](API\Plugins\Niagara\FNDIGpuComputeDispatchArgsGenCon-\FIndirectArgs) CreateIndirect ( uint32 InCounterOffset ) const


code: [FIndirectArgs](API\Plugins\Niagara\FNDIGpuComputeDispatchArgsGenCon-\FIndirectArgs) CreateIndirect ( const FUintVector2 & InCounterOffsets ) const


code: void AddTextureAccess ( [FRDGTexture](API\Runtime\RenderCore\FRDGTexture) * InTexture, ERHIAccess InAccess ) const


code: [FIndirectArgs](API\Plugins\Niagara\FNDIGpuComputeDispatchArgsGenCon-\FIndirectArgs) CreateIndirect ( const FUintVector3 & InCounterOffsets ) const


className: FCreateIndirectCallback

code: typedef [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< void([FRHICommandList](API\Runtime\RHI\FRHICommandList) &, [FRDGBuffer](API\Runtime\RenderCore\FRDGBuffer) *, uint32)> FCreateIndirectCallback


className: FIndirectArgs

code: typedef TPair< [FRDGBuffer](API\Runtime\RenderCore\FRDGBuffer) *, uint32 > FIndirectArgs


code: const [FNiagaraSimStageData](API\Plugins\Niagara\FNiagaraSimStageData) & GetSimStageData() const


description: Set Direct Dispatch Element Count / Gpu Element Count Offset.

code: void SetDirect ( uint32 InElementCount, uint32 GpuCountOffset ) const


code: void SetDirect ( const FIntPoint & InElementCount, uint32 GpuCountOffset ) const


code: void SetDirect ( const FIntVector2 & InElementCountXY, uint32 GpuCountOffset ) const


code: void SetDirect ( const FIntVector3 & InElementCountXYZ, uint32 GpuCountOffset ) const


description: Set indirect buffer to use, the callback will be inside the RDG pass.

code: void SetIndirect ( [FRDGBuffer](API\Runtime\RenderCore\FRDGBuffer) * InBuffer, uint32 BufferByteOffset, [FCreateIndirectCallback](API\Plugins\Niagara\FNDIGpuComputeDispatchArgsGenCon-\FCreateIndirectCallback) && Callback ) const


description: Set Indirect buffer to use.

code: void SetIndirect ( [FRDGBuffer](API\Runtime\RenderCore\FRDGBuffer) * InBuffer, uint32 BufferByteOffset ) const


code: void SetInstanceData ( [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) InSystemInstanceID, [FNiagaraSimStageData](API\Plugins\Niagara\FNiagaraSimStageData) & InSimStageData )


code: FNDIGpuComputeDispatchArgsGenContext ( [FRDGBuilder](API\Runtime\RenderCore\FRDGBuilder) & InGraphBuilder, const [FNiagaraGpuComputeDispatchInterface](API\Plugins\Niagara\FNiagaraGpuComputeDispatchInterf-) & InComputeDispatchInterface )


className: FNDIGpuComputeDispatchArgsGenContext

code: struct FNDIGpuComputeDispatchArgsGenContext : public [FNDIGpuComputeContext](API\Plugins\Niagara\FNDIGpuComputeContext)

IndirectBuffer

type: FRDGBuffer*...

IndirectCallbacks

type: TArray< TPair< ...

IndirectCounterGenArgs

type: FNiagaraDispatc...

PassParameters

type: FNDIGpuComputeD...

SimStageData

type: FNiagaraSimStag...


code: static FUniformBufferRHIRef CreateUniformBuffer ( const [FNDIGpuComputeDispatchArgsGenParameters](API\Plugins\Niagara\FNDIGpuComputeDispatchArgsGenPar-) & InContents, EUniformBufferUsage InUsage )


className: bIsStoredInConstantBuffer

code: static bIsStoredInConstantBuffer = true;


className: FileLine

code: static FileLine = builtin_LINE();


className: FileName

code: static FileName = builtin_FILE();


code: static const FShaderParametersMetadata &42; GetStructMetadata&40;&41;


code: ~FNDIGpuComputeDispatchArgsGenContext()


className: NumElements

code: static NumElements = 0;


className: zzFuncPtr

code: typedef void * zzFuncPtr


className: zzMemberFunc

code: typedef zzFuncPtr(* zzMemberFunc


className: zzMemberIdIndirectArgsGenParameters


className: FNDIGpuComputeDispatchArgsGenParameters

BufferAccessArray

type: TRDGResourceAcc...


code: FNDIGpuComputePostSimulateContext ( [FRDGBuilder](API\Runtime\RenderCore\FRDGBuilder) & InGraphBuilder, const [FNiagaraGpuComputeDispatchInterface](API\Plugins\Niagara\FNiagaraGpuComputeDispatchInterf-) & InComputeDispatchInterface, [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) InSystemInstanceID, bool InFinalPostSimulate )


className: FNDIGpuComputePostSimulateContext

code: struct FNDIGpuComputePostSimulateContext : public [FNDIGpuComputeContext](API\Plugins\Niagara\FNDIGpuComputeContext)


code: const [FNiagaraComputeInstanceData](API\Plugins\Niagara\FNiagaraComputeInstanceData) & GetComputeInstanceData() const


code: const [FNiagaraSimStageData](API\Plugins\Niagara\FNiagaraSimStageData) & GetSimStageData() const


code: FVector3f GetSystemLWCTile() const


code: void SetDataInterfaceProxy ( [FNiagaraDataInterfaceProxy](API\Plugins\Niagara\FNiagaraDataInterfaceProxy) * InDataInterfaceProxy )


code: FNDIGpuComputePrePostStageContext ( [FRDGBuilder](API\Runtime\RenderCore\FRDGBuilder) & InGraphBuilder, const [FNiagaraGpuComputeDispatchInterface](API\Plugins\Niagara\FNiagaraGpuComputeDispatchInterf-) & InComputeDispatchInterface, const [FNiagaraGPUSystemTick](API\Plugins\Niagara\FNiagaraGPUSystemTick) & InSystemTick, const [FNiagaraComputeInstanceData](API\Plugins\Niagara\FNiagaraComputeInstanceData) & InComputeInstanceData, const [FNiagaraSimStageData](API\Plugins\Niagara\FNiagaraSimStageData) & InSimStageData )


className: FNDIGpuComputePrePostStageContext

code: struct FNDIGpuComputePrePostStageContext : public [FNDIGpuComputeContext](API\Plugins\Niagara\FNDIGpuComputeContext)

ComputeInstanceData

type: constFNiagaraC...

DataInterfaceProxy

type: FNiagaraDataInt...

SimStageData

type: constFNiagaraS...


code: FNDIGpuComputeResetContext ( [FRDGBuilder](API\Runtime\RenderCore\FRDGBuilder) & InGraphBuilder, const [FNiagaraGpuComputeDispatchInterface](API\Plugins\Niagara\FNiagaraGpuComputeDispatchInterf-) & InComputeDispatchInterface, [FNiagaraSystemInstanceID](API\Plugins\NiagaraCore\FNiagaraSystemInstanceID) InSystemInstanceID )


className: FNDIGpuComputeResetContext

code: struct FNDIGpuComputeResetContext : public [FNDIGpuComputeContext](API\Plugins\Niagara\FNDIGpuComputeContext)

SystemInstanceID

type: FNiagaraSystemI...