description: Refreshes all data and widgets

code: void ForceFullRefreshOnTimer()


module: NiagaraEditor

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


description: Hierarchy items reflect the already edited hierarchy. This should generally be constructed from persistent serialized data.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraHierarchyItemViewModelBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_6) > > & GetHierarchyItems() const


description: The hierarchy root the widget is editing. This should point to persistent data stored somewhere else as the serialized root of the hierarchy.

code: virtual [UNiagaraHierarchyRoot](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyRoot) * GetHierarchyRoot() const


description: Overriding this will give the details panel instance customizations for specific UClasses.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [TTuple](API\Runtime\Core\Misc\TTuple)< [UClass](API\Runtime\CoreUObject\UObject\UClass) *, FOnGetDetailCustomizationInstance > > GetInstanceCustomizations()


code: const [UNiagaraHierarchyDataRefreshContext](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarch-_1) * GetRefreshContext() const


code: virtual void InitializeInternal()


code: bool IsHierarchySectionActive ( const [UNiagaraHierarchySection](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchySection) * Section ) const


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

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


code: void NavigateToItemInHierarchy ( const [FNiagaraHierarchyIdentity](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyIdentity) & NiagaraHierarchyIdentity )


code: void OnGetChildren ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraHierarchyItemViewModelBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_6) > Item, [TArray](API\Runtime\Core\Containers\TArray)< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraHierarchyItemViewModelBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_6) >> & OutChildren ) const


description: Delegates for external systems.


code: FSimpleDelegate & OnInitialized()


code: [FString](API\Runtime\Core\Containers\FString) OnItemToStringDebug ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraHierarchyItemViewModelBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_6) > ItemBaseViewModel ) const


description: Delegate that call functions fromSNiagaraHierarchy.


description: Signal that client should run any PostUndo code

code: virtual void PostUndo ( bool bSuccess )


description: Signal that client should run any PostRedo code

code: virtual void PostRedo ( bool bSuccess )


description: Prepares the items we want to create a hierarchy for. Primary purpose is to add children to the source root to gather the items to display in the source panel. The root view model is also given as a way to forcefully sync view models to access additional functionality, if needed

code: virtual void PrepareSourceItems ( [UNiagaraHierarchyRoot](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyRoot) * SourceRoot, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraHierarchyRootViewModel](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_9) > SourceRootViewModel )


code: void RefreshAllViews ( bool bFullRefresh ) const


code: void RefreshHierarchyView ( bool bFullRefresh ) const


code: void RefreshSectionsView() const


code: void RefreshSourceView ( bool bFullRefresh ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [IDetailTreeNode](API\Editor\PropertyEditor\IDetailTreeNode) > > & RequestDetailTreeNodesForObject ( [UObject](API\Runtime\CoreUObject\UObject\UObject) * Object )


code: void RequestFullRefreshNextFrame()


description: Sections.

code: void SetActiveHierarchySection ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< struct [FNiagaraHierarchySectionViewModel](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_10) > )


code: void SetRefreshContext ( [UNiagaraHierarchyDataRefreshContext](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarch-_1) * InContext )


description: Additional commands can be specified overriding the Commands function.

code: virtual void SetupCommands()


code: virtual bool SupportsDetailsPanel()


code: UNiagaraHierarchyViewModelBase()


className: UNiagaraHierarchyViewModelBase

code: [UCLASS](Programming/UnrealArchitecture/Reference/Classes#classdeclaration)(Abstract) class UNiagaraHierarchyViewModelBase : public [UObject](API\Runtime\CoreUObject\UObject\UObject), public [FSelfRegisteringEditorUndoClient](API\Editor\UnrealEd\FSelfRegisteringEditorUndoClient)

ActiveHierarchySection

type: TWeakPtr< struc...

Commands

type: TSharedPtr<FUI...

FullRefreshNextFrameHandle

type: FTimerHandle

HierarchyRoot

type: TObjectPtr<UNi...

HierarchyRootViewModel

type: TSharedPtr< str...

ObjectToPropertyRowGeneratorMap

type: TMap<UObject&...

OnHierarchyChangedDelegate

type: FOnHierarchyCha...

OnHierarchyPropertiesChangedDelegate

type: FOnHierarchyPro...

OnHierarchySectionActivatedDelegate

type: FOnSectionActiv...

OnInitializedDelegate

type: FSimpleDelegate

OnItemAddedDelegate

type: FOnItemAdded

type: FOnNavigateToIt...

RefreshAllViewsRequestedDelegate

type: FOnRefreshViewR...

RefreshSourceItemsRequestedDelegate

description: Delegate collection to call UI functions


description: Since the category points to a section object, during merge or copy paste etc. it is possible the section pointer will point at a section from another root. We fix this up by looking through our available sections and match up via persistent identity. This function expects the correct section with the same identity to exist already at the root level

code: void FixupSectionLinkage()


code: const [UNiagaraHierarchySection](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchySection) * GetSection() const


code: void SetCategoryName ( [FName](API\Runtime\Core\UObject\FName) NewCategory )


code: void SetSection ( [UNiagaraHierarchySection](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchySection) * InSection )


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


code: UNiagaraHierarchyCategory()


code: UNiagaraHierarchyCategory ( [FName](API\Runtime\Core\UObject\FName) InCategory )


code: virtual ~UNiagaraHierarchyItem()


code: template<class ChildClass> ChildClass * AddChild()


code: [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) * CopyAndAddItemAsChild ( const [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) & ItemToCopy )


code: template<class ChildClass> bool DoesOneChildExist ( bool bRecursive ) const


code: [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) * FindChildWithIdentity ( [FNiagaraHierarchyIdentity](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyIdentity) ChildIdentity, bool bSearchRecursively )


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) * > & GetChildren() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) > > & GetChildrenMutable()


code: template<class ChildClass> [TArray](API\Runtime\Core\Containers\TArray)< ChildClass * > GetChildrenOfType ( [TArray](API\Runtime\Core\Containers\TArray)< ChildClass * > & Out, bool bRecursive ) const


description: Overridden modify method to also mark all children as modified

code: virtual bool Modify ( bool bAlwaysMarkDirty )


code: [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) * CopyAndAddItemUnderParentIdentity ( const [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) & ItemToCopy, [FNiagaraHierarchyIdentity](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyIdentity) ParentIdentity )


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


description: Remove a child with a given identity. Can be searched recursively. This function operates under the assumption there will be only one item with a given identity.

code: bool RemoveChildWithIdentity ( [FNiagaraHierarchyIdentity](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyIdentity) ChildIdentity, bool bSearchRecursively )


description: An identity can be optionally set to create a mapping from previously existing guids or names to hierarchy items that represent them.

code: void SetIdentity ( [FNiagaraHierarchyIdentity](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyIdentity) InIdentity )


code: template<class PREDICATE_CLASS> void SortChildren ( const PREDICATE_CLASS & Predicate, bool bRecursive )


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


code: UNiagaraHierarchyItemBase()


code: virtual ~UNiagaraHierarchyItemBase()


className: UNiagaraHierarchyItemBase

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

Children

type: TArray<TObject...

Identity

type: FNiagaraHierarc...


className: UNiagaraHierarchyMenuContext

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

bFromHierarchy

type: bool

Items

type: TArray<TShared...


code: void Initialize ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode )


code: void Initialize ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCall, [FGuid](API\Runtime\Core\Misc\FGuid) InputGuid )


code: void SetDisplayNameOverride ( const [FText](API\Runtime\Core\Internationalization\FText) & InText )


code: UNiagaraHierarchyModuleInput()


code: virtual ~UNiagaraHierarchyModuleInput()


className: UNiagaraHierarchyModuleInput


code: void Initialize ( const [UNiagaraRendererProperties](API\Plugins\Niagara\UNiagaraRendererProperties) & Renderer )


code: [UNiagaraHierarchySection](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchySection) * AddSection ( [FText](API\Runtime\Core\Internationalization\FText) InNewSectionName, int32 InsertIndex )


description: This will copy the section element itself

code: void DuplicateSectionFromOtherRoot ( const [UNiagaraHierarchySection](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchySection) & SectionToCopy )


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraHierarchySection](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchySection) * > & GetSectionData() const


code: [TArray](API\Runtime\Core\Containers\TArray)< [TObjectPtr](API\Runtime\Core\Delegates\TObjectPtr)< [UNiagaraHierarchySection](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchySection) > > & GetSectionDataMutable()


code: int32 GetSectionIndex ( [UNiagaraHierarchySection](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchySection) * Section ) const


code: [TSet](API\Runtime\Core\Containers\TSet)< [FName](API\Runtime\Core\UObject\FName) > GetSections() const


code: virtual bool Modify ( bool bAlwaysMarkDirty )


code: void RemoveSection ( [FText](API\Runtime\Core\Internationalization\FText) SectionName )


code: void RemoveSectionByIdentity ( [FNiagaraHierarchyIdentity](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyIdentity) SectionIdentity )


code: virtual ~UNiagaraHierarchyRoot()


code: void SetSectionName ( [FName](API\Runtime\Core\UObject\FName) InSectionName )


code: void SetSectionNameAsText ( const [FText](API\Runtime\Core\Internationalization\FText) & Text )


className: UNiagaraHierarchyRoot


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


code: void Initialize ( const [UNiagaraSimulationStageBase](API\Plugins\Niagara\UNiagaraSimulationStageBase) & SimStage )


code: void ClearFunctionCallNodeCache ( const [FGuid](API\Runtime\Core\Misc\FGuid) & NodeIdentity )


description: Function to implement for custom drag drop ops.

code: virtual [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraHierarchyDragDropOp](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyDragDropOp) > CreateDragDropOp ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraHierarchyItemViewModelBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_6) > Item )


description: This function will create the view model for a given item. Override to customize view model behavior by providing custom classes.

code: virtual [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraHierarchyItemViewModelBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_6) > CreateViewModelForData ( [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) * ItemBase, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraHierarchyItemViewModelBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_6) > Parent )


code: virtual void FinalizeInternal()


code: [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * GetFunctionCallNode ( const [FGuid](API\Runtime\Core\Misc\FGuid) & NodeIdentity )


description: The hierarchy root the widget is editing. This should point to persistent data stored somewhere else as the serialized root of the hierarchy.

code: virtual [UNiagaraHierarchyRoot](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyRoot) * GetHierarchyRoot() const


code: [TOptional](API\Runtime\Core\IO\TOptional)< struct [FInputData](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FInputData) > GetInputData ( const [UNiagaraHierarchyModuleInput](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyModuleInput) & Input )


description: Overriding this will give the details panel instance customizations for specific UClasses.

code: virtual [TArray](API\Runtime\Core\Containers\TArray)< [TTuple](API\Runtime\Core\Misc\TTuple)< [UClass](API\Runtime\CoreUObject\UObject\UClass) *, FOnGetDetailCustomizationInstance > > GetInstanceCustomizations()


code: [TMap](API\Runtime\Core\Containers\TMap)< [FGuid](API\Runtime\Core\Misc\FGuid), [UObject](API\Runtime\CoreUObject\UObject\UObject) * > GetObjectsForProperties()


code: void Initialize ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel )


code: virtual void PrepareSourceItems ( [UNiagaraHierarchyRoot](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyRoot) * SourceRoot, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraHierarchyRootViewModel](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarch-_9) > SourceRootViewModel )


code: virtual void SetupCommands()


code: virtual bool SupportsDetailsPanel()


code: UNiagaraSummaryViewViewModel()


code: virtual ~UNiagaraSummaryViewViewModel()


className: UNiagaraSummaryViewViewModel

EmitterViewModelWeak

type: TWeakPtr<FNiag...

FunctionCallCache

type: TMap<FGuid,TW...

description: The cache is used to speed up access across different inputs, as the view models for both regular inputs & modules, dynamic inputs & assignment nodes need to 'find' these nodes which is expensive.


code: void Initialize ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraSystemViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraSystemViewModel) > InSystemViewModel )


code: virtual void CopyParameterMetaData ( const [FNiagaraParameterPanelItemBase](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItemBase) ItemToCopy ) const


code: virtual void CopyParameterReference ( const [FNiagaraParameterPanelItemBase](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItemBase) & ItemToCopy ) const


className: FOnRequestRefresh

description: Delegate to signal the view model's state has changed.

code: typedef TBaseDelegate_OneParam< void, bool > FOnRequestRefresh


className: FOnRequestRefreshNextTick

code: typedef TBaseDelegate_OneParam< void, bool > FOnRequestRefreshNextTick


code: virtual bool GetCanCopyParameterMetaDataAndToolTip ( const [FNiagaraParameterPanelItemBase](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItemBase) & ItemToCopy, [FText](API\Runtime\Core\Internationalization\FText) & OutCanCopyToolTip ) const


code: virtual bool GetCanCopyParameterReferenceAndToolTip ( const [FNiagaraParameterPanelItemBase](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItemBase) & ItemToCopy, [FText](API\Runtime\Core\Internationalization\FText) & OutCanCopyParameterToolTip ) const


description: Returns a list of Graphs that are valid for operations to edit their variables and/or metadata. Should collect all Graphs that are currently selected, but also Graphs that are implicitly selected, e.g. the node graph for the script toolkit.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraGraph](API\Plugins\NiagaraEditor\UNiagaraGraph) * > GetEditableGraphsConst() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * > GetEditableScriptVariablesWithName ( const [FName](API\Runtime\Core\UObject\FName) ParameterName ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraGraphParameterReference](API\Plugins\NiagaraEditor\FNiagaraGraphParameterReference) > GetGraphParameterReferencesForItem ( const [FNiagaraParameterPanelItemBase](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItemBase) & Item ) const


code: virtual bool IsCategoryExpandedByDefault ( const [FNiagaraParameterPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterPanelCategory) & Category ) const


description: Signal that client should run any PostRedo code

code: virtual void PostRedo ( bool bSuccess )


description: Signal that client should run any PostUndo code

code: virtual void PostUndo ( bool bSuccess )


code: virtual void PreSectionChange ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterPanelCategory) > & ExpandedItems )


description: Plain refresh is a relatively fast refresh.

code: void Refresh() const


description: Immutable Parameter Panel View Model ///.

code: virtual void RefreshFull ( bool bDoCategoryExpansion ) const


description: Enqueue light refresh next tick.

code: void RefreshNextTick() const


description: Equeue a full refresh, parameterized by inputs next tick.

code: virtual void RefreshFullNextTick ( bool bDoCategoryExpansion ) const


description: API for interacting with category expand/collapse within the view model.

code: virtual bool UsesCategoryFilteringForInitialExpansion() const


description: Find a viewed object ownedUNiagaraScriptVariablewith a matching Id GUID, or otherwise return nullptr.

code: [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * FindScriptVarById ( const [FGuid](API\Runtime\Core\Misc\FGuid) & ScriptVarId )


description: Base Interface for view models to SiagaraParameterPanel and SNiagaraParameterDefinitionsPanel.

code: class INiagaraImmutableParameterPanelViewModel : public [TSharedFromThis< INiagaraImmutableParameterPanelViewModel >](API\Runtime\Core\Templates\TSharedFromThis), public [FSelfRegisteringEditorUndoClient](API\Editor\UnrealEd\FSelfRegisteringEditorUndoClient)

OnRequestRefreshDelegate

type: FOnRequestRefre...


description: Do an exhaustive refresh as context may be swapped out entirely.


description: Find a subscribed Parameter Definitions with a matching Id GUID, or otherwise return nullptr.

code: [UNiagaraParameterDefinitions](API\Plugins\NiagaraEditor\UNiagaraParameterDefinitions) * FindSubscribedParameterDefinitionsById ( const [FGuid](API\Runtime\Core\Misc\FGuid) & LibraryId )


description: Get all UNiagaraScriptVariables held by the UNiagaraGraphs of the UNiagaraScriptSourceBases from GetAllSourceScripts().

code: [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * > GetAllScriptVars()


description: Find a parameter definitions owned UNiagaraSCriptVariable with a matching parameter nameFName, or otherwise return nullptr.

code: [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * FindSubscribedParameterDefinitionsScriptVarByName ( const [FName](API\Runtime\Core\UObject\FName) & ScriptVarName )


description: Get all parameter libraries under the editor and niagara packages, along with those that are in the same package as theUObjectthis viewmodel is editing.

code: [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraParameterDefinitions](API\Plugins\NiagaraEditor\UNiagaraParameterDefinitions) * > GetAvailableParameterDefinitions ( bool bSkipSubscribedParameterDefinitions )


description: Public passthrough to get theOnChanged()delegate owned by the viewedINiagaraParameterDefinitionsSubscriber.


description: Get the path to the package of theUObjectthis viewmodel is editing.


description: Find the parameter owned by the object viewed by theINiagaraParameterDefinitionsSubscriberViewModeland set its synchronizing state with a valid Parameter Definitions if possible. If set to synchronize, synchronize it immediately.

code: void SetParameterIsSubscribedToDefinitions ( const [FGuid](API\Runtime\Core\Misc\FGuid) & ScriptVarId, bool bIsSynchronizing )


description: Find the parameter owned by the object viewed by theINiagaraParameterDefinitionsSubscriberViewModeland set its overriding state with a valid Parameter Definitions if possible. If set to no longer override, synchronize it immediately.

code: void SetParameterIsOverridingLibraryDefaultValue ( const [FGuid](API\Runtime\Core\Misc\FGuid) & ScriptVarId, bool bIsOverriding )


description: Find all parameters owned by the object viewed by theINiagaraParameterDefinitionsSubscriberViewModeland mark them as synchronizing with the target Parameter Definitions, then synchronize them.

code: void SubscribeAllParametersToDefinitions ( const [FGuid](API\Runtime\Core\Misc\FGuid) & DefinitionsUniqueId )


code: void SubscribeToParameterDefinitions ( [UNiagaraParameterDefinitions](API\Plugins\NiagaraEditor\UNiagaraParameterDefinitions) * NewParameterDefinitions )


description: Synchronizes all Parameter Definitions UNiagaraScriptVariables with all graph parameters.

code: void SynchronizeWithParameterDefinitions ( [FSynchronizeWithParameterDefinitionsArgs](API\Plugins\Niagara\FSynchronizeWithParameterDefinit-) Args )


code: void UnsubscribeFromParameterDefinitions ( const [FGuid](API\Runtime\Core\Misc\FGuid) & ParameterDefinitionsToRemoveUniqueId )


description: Synchronizes a specific graph parameter with a subscribed parameter definition library's matching parameter (if it exists.)

code: void SynchronizeScriptVarWithParameterDefinitions ( [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * ScriptVarToSynchronize, bool bForce )


description: Interface for viewmodels to classes that subscribe toUNiagaraParameterDefinitions.


code: void AddParameterDefinitions ( [UNiagaraParameterDefinitions](API\Plugins\NiagaraEditor\UNiagaraParameterDefinitions) * NewParameterDefinitions ) const


description: Find a subscribed Parameter Definitions asset with a matching Id GUID, or otherwise return nullptr.

code: const [UNiagaraParameterDefinitions](API\Plugins\NiagaraEditor\UNiagaraParameterDefinitions) * FindSubscribedParameterDefinitionsById ( const [FGuid](API\Runtime\Core\Misc\FGuid) & DefinitionsId ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraParameterDefinitions](API\Plugins\NiagaraEditor\UNiagaraParameterDefinitions) * > GetAvailableParameterDefinitionsAssets ( bool bSkipSubscribedParameterDefinitions ) const


code: bool GetCanRemoveParameterDefinitionsAndToolTip ( const [FNiagaraParameterDefinitionsPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterDefinitionsPane-) & CategoryToDelete, [FText](API\Runtime\Core\Internationalization\FText) & OutCanUnsubscribeLibraryToolTip ) const


code: bool GetCanSubscribeAllParametersToDefinitionsAndToolTip ( const [FNiagaraParameterDefinitionsPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterDefinitionsPane-) & CategoryToSubscribe, [FText](API\Runtime\Core\Internationalization\FText) & OutCanSubscribeParametersToolTip ) const


description: Returns a list of Graphs that are valid for operations to edit their variables and/or metadata. Should collect all Graphs that are currently selected, but also Graphs that are implicitly selected, e.g. the node graph for the script toolkit.

code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraGraph](API\Plugins\NiagaraEditor\UNiagaraGraph) * > GetEditableGraphsConst() const


description: Base Parameter Definitions Panel View Model ///.

code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * > GetEditableScriptVariablesWithName ( const [FName](API\Runtime\Core\UObject\FName) ParameterName ) const


code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraGraphParameterReference](API\Plugins\NiagaraEditor\FNiagaraGraphParameterReference) > GetGraphParameterReferencesForItem ( const [FNiagaraParameterPanelItemBase](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItemBase) & Item ) const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraParameterDefinitions](API\Plugins\NiagaraEditor\UNiagaraParameterDefinitions) * > GetParameterDefinitionsAssets() const


code: virtual void OnParameterItemSelected ( const [FNiagaraParameterDefinitionsPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterDefinitionsPane-_1) & SelectedItem, [ESelectInfo::Type](API\Runtime\SlateCore\Types\ESelectInfo__Type) SelectInfo ) const


code: virtual [FReply](API\Runtime\SlateCore\Input\FReply) OnParameterItemsDragged ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterDefinitionsPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterDefinitionsPane-_1) > & DraggedItems, const [FPointerEvent](API\Runtime\SlateCore\Input\FPointerEvent) & MouseEvent ) const


code: void RemoveParameterDefinitions ( const [FNiagaraParameterDefinitionsPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterDefinitionsPane-) & CategoryToDelete ) const


description: Find all external parameters with name matches to the definitions and set them to synchronize with all eligible definitions.

code: void SubscribeAllParametersToDefinitions ( const [FNiagaraParameterDefinitionsPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterDefinitionsPane-) & CategoryToSubscribe ) const


description: Interface for view models to the parameter panel.


code: void AddParameter ( [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) NewVariable, const [FNiagaraParameterPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterPanelCategory) Category, const bool bRequestRename, const bool bMakeUniqueName )


code: virtual void ChangeParameterType ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > ItemsToModify, const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) NewType )


code: virtual bool CanAddType ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InType, [TOptional](API\Runtime\Core\IO\TOptional)< [FNiagaraParameterPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterPanelCategory) > Category )


code: [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [SWidget](API\Runtime\SlateCore\Widgets\SWidget) > CreateContextMenuForItems ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > & Items, const [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FUICommandList](API\Runtime\Slate\Framework\Commands\FUICommandList) > & ToolkitCommands )


code: void DeleteParameters ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > & ItemsToDelete )


code: virtual void DuplicateParameters ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > ItemToDuplicate )


code: void FindOrAddParameter ( [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) Variable, const [FNiagaraParameterPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterPanelCategory) Category )


description: Delegate to get the name array representing parameters pending namespace modification.

code: typedef TBaseDelegate_NoParams< [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > > > FOnGetParametersWithNamespaceModifierRenamePending


className: FOnGetSelectedParameterNames

description: Delegate to get the names of all selected parameter items.

code: typedef TBaseDelegate_NoParams< [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > > FOnGetSelectedParameterNames


className: FOnInvalidateCachedDependencies

code: typedef TMulticastDelegate_NoParams< void > FOnInvalidateCachedDependencies


className: FOnNotifyParameterPendingRename

description: Delegate to signal the ParameterPanel to trigger pending parameter renames.

code: typedef TBaseDelegate_OneParam< void, const [FName](API\Runtime\Core\UObject\FName) > FOnNotifyParameterPendingRename


code: typedef TBaseDelegate_OneParam< void, const [FName](API\Runtime\Core\UObject\FName) > FOnNotifyParameterPendingNamespaceModifierRename


description: Delegate to handle responses to external selection changes (e.g.TNiagaraSelectionchanges.)

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


className: FOnSelectParameterItemByName

description: Delegate to signal the ParameterPanel to select a parameter Item by name.

code: typedef TBaseDelegate_OneParam< void, const [FName](API\Runtime\Core\UObject\FName) > FOnSelectParameterItemByName


className: FSectionDesc

description: Helper struct for storing information about a section in the parameter panel (if used)

code: struct FSectionDesc

Description

type: FText

SectionId

type: FGuid


code: virtual bool GetAllowMultiSelect() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > & GetCachedViewedParameterItems() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraParameterDefinitions](API\Plugins\NiagaraEditor\UNiagaraParameterDefinitions) * > GetAvailableParameterDefinitions ( bool bSkipSubscribedParameterDefinitions ) const


code: bool GetCanAddParametersToCategory ( [FNiagaraParameterPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterPanelCategory) Category ) const


code: virtual bool GetCanChangeParameterType ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > & ItemToChange, [FText](API\Runtime\Core\Internationalization\FText) & OutTooltip ) const


code: FSectionDesc &40; const FGuid & InId, const FText & InName, const FText & InDesc &41;


code: bool GetCanDebugParameters ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > & ItemsToDebug ) const


code: virtual bool GetCanDeleteParameterAndToolTip ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & ItemToDelete, [FText](API\Runtime\Core\Internationalization\FText) & OutCanDeleteParameterToolTip ) const


code: virtual bool GetCanDuplicateParameterAndToolTip ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > & ItemsToDuplicate, [FText](API\Runtime\Core\Internationalization\FText) & OutCanDuplicateParameterToolTip ) const


code: virtual bool GetCanPasteParameterMetaDataAndToolTip ( [FText](API\Runtime\Core\Internationalization\FText) & OutCanPasteToolTip )


code: bool GetCanHandleDragDropOperation ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDragDropOperation](API\Runtime\SlateCore\Input\FDragDropOperation) > DragDropOperation ) const


code: virtual bool GetCanRenameParameterAndToolTip ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & ItemToRename, const [FText](API\Runtime\Core\Internationalization\FText) & NewVariableNameText, bool bCheckEmptyNameText, [FText](API\Runtime\Core\Internationalization\FText) & OutCanRenameParameterToolTip ) const


code: bool GetCanSetParameterNamespaceAndToolTip ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & ItemToModify, const [FName](API\Runtime\Core\UObject\FName) NewNamespace, [FText](API\Runtime\Core\Internationalization\FText) & OutCanSetParameterNamespaceToolTip ) const


code: bool GetCanSetParameterNamespaceModifierAndToolTip ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & ItemToModify, const [FName](API\Runtime\Core\UObject\FName) NamespaceModifier, bool bDuplicateParameter, [FText](API\Runtime\Core\Internationalization\FText) & OutCanSetParameterNamespaceModifierToolTip ) const


code: bool GetCanSetParameterCustomNamespaceModifierAndToolTip ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & ItemToModify, bool bDuplicateParameter, [FText](API\Runtime\Core\Internationalization\FText) & OutCanSetParameterNamespaceModifierToolTip ) const


code: virtual bool GetCanSubscribeParameterToLibraryAndToolTip ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & ItemToModify, const bool bSubscribing, [FText](API\Runtime\Core\Internationalization\FText) & OutCanSubscribeParameterToolTip ) const


code: virtual void GetChangeNamespaceSubMenu ( [FMenuBuilder](API\Runtime\Slate\Framework\MultiBox\FMenuBuilder) & MenuBuilder, bool bDuplicateParameter, [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) Item )


code: virtual void GetChangeNamespaceModifierSubMenu ( [FMenuBuilder](API\Runtime\Slate\Framework\MultiBox\FMenuBuilder) & MenuBuilder, bool bDuplicateParameter, [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) Item )


code: virtual void GetChangeTypeSubMenu ( [FMenuBuilder](API\Runtime\Slate\Framework\MultiBox\FMenuBuilder) & MenuBuilder, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > Item )


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelCategory](API\Plugins\NiagaraEditor\FNiagaraParameterPanelCategory) > & GetDefaultCategories() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraGraph](API\Plugins\NiagaraEditor\UNiagaraGraph) * > GetEditableGraphsConst() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * > GetEditableScriptVariablesWithName ( const [FName](API\Runtime\Core\UObject\FName) ParameterName ) const


code: [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > GetEditableStaticSwitchParameters() const


code: const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraGraphParameterReference](API\Plugins\NiagaraEditor\FNiagaraGraphParameterReference) > GetGraphParameterReferencesForItem ( const [FNiagaraParameterPanelItemBase](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItemBase) & Item ) const


code: virtual bool GetNamespaceActive ( const [FName](API\Runtime\Core\UObject\FName) & InNamespace ) const


code: virtual const [TArray](API\Runtime\Core\Containers\TArray)< [FSectionDesc](API\Plugins\NiagaraEditor\ViewModels\INiagaraParameterPanelViewModel\FSectionDesc) > & GetSections() const


code: virtual bool GetShowSections() const


code: virtual bool GetSectionEnabled ( [FText](API\Runtime\Core\Internationalization\FText) Section ) const


code: virtual [FText](API\Runtime\Core\Internationalization\FText) GetTooltipForSection ( [FText](API\Runtime\Core\Internationalization\FText) & InSection ) const


code: [FReply](API\Runtime\SlateCore\Input\FReply) HandleDragDropOperation ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FDragDropOperation](API\Runtime\SlateCore\Input\FDragDropOperation) > DropOperation )


code: virtual bool IncludeViewItemsInSelectParameterItem() const


code: virtual bool IsVariableSelected ( [FNiagaraVariableBase](API\Plugins\Niagara\FNiagaraVariableBase) & InVar ) const


code: virtual void OnINiagaraParameterPanelViewModelSelectionChanged ( [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * InVar )


code: virtual void OnParameterItemActivated ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & ActivatedItem ) const


code: virtual void OnParameterItemSelected ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & SelectedItem, [ESelectInfo::Type](API\Runtime\SlateCore\Types\ESelectInfo__Type) SelectInfo ) const


code: virtual [FReply](API\Runtime\SlateCore\Input\FReply) OnParameterItemsDragged ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > & DraggedItems, const [FPointerEvent](API\Runtime\SlateCore\Input\FPointerEvent) & MouseEvent ) const


code: virtual void PasteParameterMetaData ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) > SelectedItems )


description: Immutable Parameter Panel View Model ///.

code: virtual void RefreshFull ( bool bDoCategoryExpansion ) const


code: void RenameParameter ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) & ItemToRename, const [FName](API\Runtime\Core\UObject\FName) NewName )


code: void SelectParameterItemByName ( const [FName](API\Runtime\Core\UObject\FName) ParameterName, const bool bRequestRename )


code: void SetActiveSection ( [FText](API\Runtime\Core\Internationalization\FText) & InSection )


code: virtual void SetActiveSection ( int32 InSection )


code: virtual void SetMainParameterPanelViewModel ( [TWeakPtr](API\Runtime\Core\Templates\TWeakPtr)< [INiagaraParameterPanelViewModel](API\Plugins\NiagaraEditor\ViewModels\INiagaraParameterPanelViewModel) > InMainParameterPanelViewModel )


code: virtual void SetParameterCustomNamespaceModifier ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) ItemToModify, bool bDuplicateParameter )


code: virtual void SetParameterNamespace ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) ItemToModify, [FNiagaraNamespaceMetadata](API\Plugins\NiagaraEditor\FNiagaraNamespaceMetadata) NewNamespaceMetaData, bool bDuplicateParameter )


code: virtual void SetParameterNamespaceModifier ( const [FNiagaraParameterPanelItem](API\Plugins\NiagaraEditor\FNiagaraParameterPanelItem) ItemToModify, const [FName](API\Runtime\Core\UObject\FName) NewNamespaceModifier, bool bDuplicateParameter )


description: Parameter Panel View Model ///.

code: INiagaraParameterPanelViewModel()


className: INiagaraParameterPanelViewModel

description: Interface for view models to SiagaraParameterPanel.

bIsAddingParameter

description: Re-entrancy guard for adding parameters.

CachedViewedItems

type: TArray<FNiagar...

description: Cached maps of parameters sent toSNiagaraParameterPanel, updated whenever GetViewedParameters is called.

MainParameterPanelViewModel

type: TWeakPtr<INiag...

type: FOnGetParameter...

OnInvalidateCachedDependenciesDelegate

type: FOnInvalidateCa...

type: FOnNotifyParame...

type: FOnParameterPan...

OnSelectParameterItemByNameDelegate

type: FOnSelectParame...

ParameterMenuSearchBoxWidget

type: TSharedPtr<SEd...

ParameterMenuWidget

type: TSharedPtr<SWi...

description: SharedPtr to menu and searchbox widget retained to prevent the shared ref returned by GetParameterMenu from being invalidated.

Sections

type: TArray<FSectio...

TransientParameterToScriptVarMap

type: TMap<FNiagaraV...

description: Transient UNiagaraScriptVariables used to pass to new FNiagaraParameterPanelItems when the sourceFNiagaraVariableis not associated with aUNiagaraScriptVariablein a graph.


className: AddSummaryItem

code: void AddSummaryItem ( [UNiagaraHierarchyItemBase](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\UNiagaraHierarchyItemBase) * HierarchyItem, [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * Parent )


className: EStackIssueSeverity

code: enum EStackIssueSeverity { Error = 0, Warning, Info, CustomNote, None, }


className: EStackParameterBehavior

code: enum EStackParameterBehavior { Dynamic, Static, }


code: FAddScriptModuleToStackArgs ( [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) InModuleScriptAsset, [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) & InTargetOutputNode )


code: FAddScriptModuleToStackArgs ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) * InModuleScript, [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) & InTargetOutputNode )


className: FAddScriptModuleToStackArgs

code: struct FAddScriptModuleToStackArgs

bFixupTargetIndex

type: bool

description: Whether or not to modify the final TargetIndex to be the closest value to TargetIndex which satisfies all script dependencies.

ModuleScript

type: UNiagaraScript...

ModuleScriptAsset

type: constFAssetDat...

description: ModuleScriptAsset OR ModuleScript is required. The script to add to the stack.

SuggestedName

type: FString

description: The suggested name for the new script.

TargetIndex

description: The index in the stack list in which to instert the script.

TargetOutputNode

type: UNiagaraNodeOut...

description: The output node in the stack graph to add to.

VersionGuid

description: The version to use for the script to add.


code: bool operator== ( const [FInputDataCacheKey](API\Plugins\NiagaraEditor\ViewModels\Stack\FInputDataCacheKey) & OtherKey ) const


code: bool operator!= ( const [FInputDataCacheKey](API\Plugins\NiagaraEditor\ViewModels\Stack\FInputDataCacheKey) & OtherKey ) const


code: FInputDataCacheKey ( [FGuid](API\Runtime\Core\Misc\FGuid) InNodeGuid, [FGuid](API\Runtime\Core\Misc\FGuid) InVariableGuid )


className: FInputDataCacheKey

code: struct FInputDataCacheKey

NodeGuid

type: FGuid


className: FInputDataCollection

code: struct FInputDataCollection

ChildrenGuidToScriptVariablesMap

type: TMap<FGuid,TO...

HierarchyInputToAssignmentMap

type: TMap<UNiagaraH...

HierarchyInputToChildrenGuidMap

description: These two aren't currently in use as children inputs are handled manually by the author

NodeGuidToModuleNodeMap

type: TMap<FGuid,UN...


className: FMatchingFunctionInputData

code: struct FMatchingFunctionInputData

ChildrenInputGuids

type: TArray<FGuid>

FunctionCallNode

type: UNiagaraNodeFun...

InputName

type: FName

MetaData

type: FNiagaraVariabl...

Type

type: FNiagaraTypeDef...


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::BuildParameterMapHistoryWithStackContextResolution ( [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) OwningEmitter, [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) * OutputNodeInChain, [UNiagaraNode](API\Plugins\NiagaraEditor\UNiagaraNode) * NodeToVisit, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraParameterMapHistory](API\Plugins\NiagaraEditor\FNiagaraParameterMapHistory) > & OutHistories, bool bRecursive, bool bFilterForCompilation ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GatherRenamedStackFunctionInputAndOutputVariableNames ( [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) Emitter, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, const [FString](API\Runtime\Core\Containers\FString) & OldFunctionName, const [FString](API\Runtime\Core\Containers\FString) & NewFunctionName, [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FName](API\Runtime\Core\UObject\FName) > & OutOldToNewNameMap ) }


code: namespace FNiagaraStackGraphUtilities { namespace DependencyUtilities { bool FNiagaraStackGraphUtilities::DependencyUtilities::DoesStackModuleProvideDependency ( const [FNiagaraStackModuleData](API\Plugins\NiagaraEditor\ViewModels\FNiagaraStackModuleData) & StackModuleData, const [FNiagaraModuleDependency](API\Plugins\Niagara\FNiagaraModuleDependency) & SourceModuleRequiredDependency, const [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) & SourceOutputNode ) } }


code: namespace FNiagaraStackGraphUtilities { namespace DependencyUtilities { void FNiagaraStackGraphUtilities::DependencyUtilities::GetModuleScriptAssetsByDependencyProvided ( [FName](API\Runtime\Core\UObject\FName) DependencyName, [TOptional](API\Runtime\Core\IO\TOptional)< [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) > RequiredUsage, [TArray](API\Runtime\Core\Containers\TArray)< [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) > & OutAssets ) } }


code: static [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) CreateAliasedModuleParameterHandle ( const [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) & ModuleParameterHandle, const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * ModuleNode )


code: namespace FNiagaraStackGraphUtilities { namespace DependencyUtilities { int32 FNiagaraStackGraphUtilities::DependencyUtilities::FindBestIndexForModuleInStack ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode, [UNiagaraGraph](API\Plugins\NiagaraEditor\UNiagaraGraph) & EmitterScriptGraph ) } }


code: static [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) CreateAliasedModuleParameterHandle ( const [FName](API\Runtime\Core\UObject\FName) FullInputName, const [FName](API\Runtime\Core\UObject\FName) FunctionName )


code: static [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) CreateEmitterParameterHandle ( const [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) & EmitterVariable )


code: static [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) CreateEngineParameterHandle ( const [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) & SystemVariable )


code: static [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) CreateInitialParameterHandle ( const [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) & Handle )


code: static [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) CreateModuleParameterHandle ( const [FName](API\Runtime\Core\UObject\FName) InName )


code: static [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) CreateParticleAttributeParameterHandle ( const [FName](API\Runtime\Core\UObject\FName) InName )


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


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


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


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


code: bool IsDataInstanceHandle() const


code: bool IsEmitterHandle() const


code: bool IsEngineHandle() const


code: bool IsModuleHandle() const


code: bool IsOutputHandle() const


code: bool IsParticleAttributeHandle() const


code: bool IsReadOnlyHandle() const


code: bool IsSystemHandle() const


code: bool IsStackContextHandle() const


code: bool IsTransientHandle() const


code: bool operator== ( const [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) & Other ) const


code: bool operator!= ( const [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) & Other ) const


code: FNiagaraParameterHandle ( [FName](API\Runtime\Core\UObject\FName) InParameterHandleString )


code: FNiagaraParameterHandle ( [FName](API\Runtime\Core\UObject\FName) InNamespace, [FName](API\Runtime\Core\UObject\FName) InName )


className: FNiagaraParameterHandle

code: class FNiagaraParameterHandle


code: virtual void GenerateIssues ( void * Object, [UNiagaraStackObject](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackObject) * StackObject, [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry::FStackIssue](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry\FStackIssue) > & NewIssues )


className: FNiagaraPlatformSetIssueGenerator


code: namespace FNiagaraStackClipboardUtilities { bool FNiagaraStackClipboardUtilities::TestCanCutSelectionWithMessage ( const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > & SelectedEntries, [FText](API\Runtime\Core\Internationalization\FText) & OutCanCutMessage ) }


code: namespace FNiagaraStackClipboardUtilities { void FNiagaraStackClipboardUtilities::CutSelection ( const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > & SelectedEntries ) }


code: namespace FNiagaraStackClipboardUtilities { bool FNiagaraStackClipboardUtilities::TestCanCopySelectionWithMessage ( const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > & SelectedEntries, [FText](API\Runtime\Core\Internationalization\FText) & OutCanCopyMessage ) }


code: namespace FNiagaraStackClipboardUtilities { void FNiagaraStackClipboardUtilities::CopySelection ( const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > & SelectedEntries ) }


code: namespace FNiagaraStackClipboardUtilities { bool FNiagaraStackClipboardUtilities::TestCanDeleteSelectionWithMessage ( const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > & SelectedEntries, [FText](API\Runtime\Core\Internationalization\FText) & OutMessage ) }


code: namespace FNiagaraStackClipboardUtilities { void FNiagaraStackClipboardUtilities::PasteSelection ( const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > & SelectedEntries, [FText](API\Runtime\Core\Internationalization\FText) & OutPasteWarning ) }


code: namespace FNiagaraStackClipboardUtilities { bool FNiagaraStackClipboardUtilities::TestCanPasteSelectionWithMessage ( const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > & SelectedEntries, [FText](API\Runtime\Core\Internationalization\FText) & OutCanPasteMessage ) }


code: const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > GetDraggedEntries() const


code: namespace FNiagaraStackClipboardUtilities { void FNiagaraStackClipboardUtilities::DeleteSelection ( const [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > & SelectedEntries ) }


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


code: FNiagaraStackEntryDragDropOp ( [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) * > InDraggedEntries )


description: Checks whether this drag and drop operation can cast safely to the specified type.

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


code: bool CanSetConditionIsEnabled() const


className: FNiagaraStackEntryDragDropOp

code: class FNiagaraStackEntryDragDropOp : public [FDecoratedDragDropOp](API\Editor\UnrealEd\DragAndDrop\FDecoratedDragDropOp)


code: [TOptional](API\Runtime\Core\IO\TOptional)< [FNiagaraVariableMetaData](API\Plugins\Niagara\FNiagaraVariableMetaData) > GetConditionInputMetaData() const


code: bool GetConditionIsEnabled() const


code: void Initialize ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) * InScript, [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) * > InDependentScripts, [FCompileConstantResolver](API\Plugins\NiagaraEditor\FCompileConstantResolver) InConstantResolver, [FString](API\Runtime\Core\Containers\FString) InOwningEmitterUniqueName, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * InFunctionCallNode )


code: void Refresh ( const [FNiagaraInputConditionMetadata](API\Plugins\Niagara\FNiagaraInputConditionMetadata) & InputCondition, [FText](API\Runtime\Core\Internationalization\FText) & OutErrorMessage )


code: void SetConditionIsEnabled ( bool bInIsEnabled )


className: FNiagaraStackFunctionInputCondition

description: Users a condition string to bind to an input on a stack function and determines if the value of that input matches a specific value.


code: namespace FNiagaraStackGraphUtilities { enum EStackEditContext { System, Emitter, } }


code: namespace FNiagaraStackGraphUtilities { enum ENiagaraGetStackFunctionInputPinsOptions { AllInputs, ModuleInputsOnly, } }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * > FNiagaraStackGraphUtilities::GetAllSimStagesModuleNodes ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * > FNiagaraStackGraphUtilities::GetAllEventHandlerModuleNodes ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * FNiagaraStackGraphUtilities::GetNextModuleNode ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & CurrentNode ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) * FNiagaraStackGraphUtilities::GetEmitterOutputNodeForStackNode ( [UNiagaraNode](API\Plugins\NiagaraEditor\UNiagaraNode) & StackNode ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * FNiagaraStackGraphUtilities::GetPreviousModuleNode ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & CurrentNode ) }


code: namespace FNiagaraStackGraphUtilities { const [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) * FNiagaraStackGraphUtilities::GetEmitterOutputNodeForStackNode ( const [UNiagaraNode](API\Plugins\NiagaraEditor\UNiagaraNode) & StackNode ) }


code: namespace FNiagaraStackGraphUtilities { [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) FNiagaraStackGraphUtilities::GetOutputNodeUsage ( const [UNiagaraNode](API\Plugins\NiagaraEditor\UNiagaraNode) & StackNode ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::CheckForDeprecatedScriptVersion ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * InputFunctionCallNode, const [FString](API\Runtime\Core\Containers\FString) & StackEditorDataKey, [UNiagaraStackEntry::FStackIssueFixDelegate](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry\FStackIssueFixDe-) VersionUpgradeFix, [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry::FStackIssue](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry\FStackIssue) > & OutIssues ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeInput](API\Plugins\NiagaraEditor\UNiagaraNodeInput) * FNiagaraStackGraphUtilities::GetEmitterInputNodeForStackNode ( [UNiagaraNode](API\Plugins\NiagaraEditor\UNiagaraNode) & StackNode ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::CheckForDeprecatedEmitterVersion ( [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > ViewModel, const [FString](API\Runtime\Core\Containers\FString) & StackEditorDataKey, [UNiagaraStackEntry::FStackIssueFixDelegate](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry\FStackIssueFixDe-) VersionUpgradeFix, [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackEntry::FStackIssue](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry\FStackIssue) > & OutIssues ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetStackNodeGroups ( [UNiagaraNode](API\Plugins\NiagaraEditor\UNiagaraNode) & StackNode, [TArray](API\Runtime\Core\Containers\TArray)< [FStackNodeGroup](API\Plugins\NiagaraEditor\ViewModels\Stack\FStackNodeGroup) > & OutStackNodeGroups ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::MakeLinkTo ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * PinA, [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * PinB ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::DisconnectStackNodeGroup ( const [FStackNodeGroup](API\Plugins\NiagaraEditor\ViewModels\Stack\FStackNodeGroup) & DisconnectGroup, const [FStackNodeGroup](API\Plugins\NiagaraEditor\ViewModels\Stack\FStackNodeGroup) & PreviousGroup, const [FStackNodeGroup](API\Plugins\NiagaraEditor\ViewModels\Stack\FStackNodeGroup) & NextGroup ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::ConnectStackNodeGroup ( const [FStackNodeGroup](API\Plugins\NiagaraEditor\ViewModels\Stack\FStackNodeGroup) & ConnectGroup, const [FStackNodeGroup](API\Plugins\NiagaraEditor\ViewModels\Stack\FStackNodeGroup) & NewPreviousGroup, const [FStackNodeGroup](API\Plugins\NiagaraEditor\ViewModels\Stack\FStackNodeGroup) & NewNextGroup ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::InitializeStackFunctionInputs ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraSystemViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraSystemViewModel) > SystemViewModel, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel, [UNiagaraStackEditorData](API\Plugins\NiagaraEditor\UNiagaraStackEditorData) & StackEditorData, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & InputFunctionCallNode ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::InitializeStackFunctionInput ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraSystemViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraSystemViewModel) > SystemViewModel, [TSharedPtr](API\Runtime\Core\Templates\TSharedPtr)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel, [UNiagaraStackEditorData](API\Plugins\NiagaraEditor\UNiagaraStackEditorData) & StackEditorData, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & InputFunctionCallNode, [FName](API\Runtime\Core\UObject\FName) InputName ) }


code: namespace FNiagaraStackGraphUtilities { [FString](API\Runtime\Core\Containers\FString) FNiagaraStackGraphUtilities::GenerateStackFunctionInputEditorDataKey ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) InputParameterHandle ) }


code: namespace FNiagaraStackGraphUtilities { [FString](API\Runtime\Core\Containers\FString) FNiagaraStackGraphUtilities::GenerateStackModuleEditorDataKey ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > FNiagaraStackGraphUtilities::StackContextResolution ( [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) OwningEmitter, [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) * OutputNodeInChain ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GatherInputRelationsForStack ( [FInputDataCollection](API\Plugins\NiagaraEditor\ViewModels\Stack\FInputDataCollection) & State, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


description: Returns the input pins for the given function call node. Try not to use this method if possible and use the version that accepts aFCompileConstantResolverparameter. This method should only be used if the current context is completely outside of any system or emitter (e.g. inside the graph editor itself) and constants cannot be resolved at all.

code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetStackFunctionInputs ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & OutInputVariables, [ENiagaraGetStackFunctionInputPinsOptions](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraStackGra-) Options, bool bIgnoreDisabled ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetStackFunctionInputs ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & OutInputVariables, [FCompileConstantResolver](API\Plugins\NiagaraEditor\FCompileConstantResolver) ConstantResolver, [ENiagaraGetStackFunctionInputPinsOptions](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraStackGra-) Options, bool bIgnoreDisabled ) }


description: Returns the input pins for the given function call node.

code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetStackFunctionInputs ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & OutInputVariables, [TSet](API\Runtime\Core\Containers\TSet)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & OutHiddenVariables, [FCompileConstantResolver](API\Plugins\NiagaraEditor\FCompileConstantResolver) ConstantResolver, [ENiagaraGetStackFunctionInputPinsOptions](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraStackGra-) Options, bool bIgnoreDisabled ) }


description: Returns the input pins for the given function call node. Bypasses the module level caching of this data and generates it each call.

code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetStackFunctionInputPinsWithoutCache ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, TConstArrayView< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > StaticVars, [TArray](API\Runtime\Core\Containers\TArray)< const [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * > & OutInputPins, const [FCompileConstantResolver](API\Plugins\NiagaraEditor\FCompileConstantResolver) & ConstantResolver, [ENiagaraGetStackFunctionInputPinsOptions](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraStackGra-) Options, bool bIgnoreDisabled, bool bFilterForCompilation ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::BreakAllPinLinks ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * PinA ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) * > FNiagaraStackGraphUtilities::GetAllOutputNodes ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { uint32 FNiagaraStackGraphUtilities::GetTypeHash ( const [FInputDataCacheKey](API\Plugins\NiagaraEditor\ViewModels\Stack\FInputDataCacheKey) & InputDataCacheKey ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * FNiagaraStackGraphUtilities::FindModuleNode ( [FGuid](API\Runtime\Core\Misc\FGuid) ModuleNodeGuid, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeAssignment](API\Plugins\NiagaraEditor\UNiagaraNodeAssignment) * FNiagaraStackGraphUtilities::FindAssignmentNode ( [FGuid](API\Runtime\Core\Misc\FGuid) AssignmentNodeGuid, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * FNiagaraStackGraphUtilities::FindDynamicInputNodeForInput ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & OwningFunctionNode, [FName](API\Runtime\Core\UObject\FName) UnaliasedParameterName ) }


description: When you have the guid of the node available, we don't need to traverse pins and can just look up the correct node directly.

code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * FNiagaraStackGraphUtilities::FindFunctionCallNode ( [FGuid](API\Runtime\Core\Misc\FGuid) FunctionCallGuid, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * > FNiagaraStackGraphUtilities::FindModuleNodesForSimulationStage ( [UNiagaraSimulationStageBase](API\Plugins\Niagara\UNiagaraSimulationStageBase) & SimStage, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * > FNiagaraStackGraphUtilities::FindModuleNodesForEventHandler ( [FNiagaraEventScriptProperties](API\Plugins\Niagara\FNiagaraEventScriptProperties) & EventScriptProperties, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { [TOptional](API\Runtime\Core\IO\TOptional)< [FMatchingFunctionInputData](API\Plugins\NiagaraEditor\ViewModels\Stack\FMatchingFunctionInputData) > FNiagaraStackGraphUtilities::FindInputData ( [FNiagaraHierarchyIdentity](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyIdentity) ModuleInputIdentity, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


description: A more optimized version of the function above. Assumes you already have the correct node.

code: namespace FNiagaraStackGraphUtilities { [TOptional](API\Runtime\Core\IO\TOptional)< [FMatchingFunctionInputData](API\Plugins\NiagaraEditor\ViewModels\Stack\FMatchingFunctionInputData) > FNiagaraStackGraphUtilities::FindInputData ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [FNiagaraHierarchyIdentity](API\Plugins\NiagaraEditor\ViewModels\HierarchyEditor\FNiagaraHierarchyIdentity) InputIdentity, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::RelayoutGraph ( [UEdGraph](API\Runtime\Engine\EdGraph\UEdGraph) & Graph ) }


code: namespace FNiagaraStackGraphUtilities { [TOptional](API\Runtime\Core\IO\TOptional)< [FMatchingFunctionInputData](API\Plugins\NiagaraEditor\ViewModels\Stack\FMatchingFunctionInputData) > FNiagaraStackGraphUtilities::FindAssignmentInputData ( const [UNiagaraNodeAssignment](API\Plugins\NiagaraEditor\UNiagaraNodeAssignment) & AssignmentNode, [FName](API\Runtime\Core\UObject\FName) VariableName, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


description: Finds the input data for a given function call node and a variable guid. An optional cache can be used that, if specified, will be used to get variable data if found and if not, will write into the cache This also means maintaining the cache becomes the responsibility of the caller

code: namespace FNiagaraStackGraphUtilities { [TOptional](API\Runtime\Core\IO\TOptional)< [FMatchingFunctionInputData](API\Plugins\NiagaraEditor\ViewModels\Stack\FMatchingFunctionInputData) > FNiagaraStackGraphUtilities::FindModuleInputData ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [FGuid](API\Runtime\Core\Misc\FGuid) VariableGuid, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel, bool bIncludeChildrenInputs, [TMap](API\Runtime\Core\Containers\TMap)< [FInputDataCacheKey](API\Plugins\NiagaraEditor\ViewModels\Stack\FInputDataCacheKey), [FMatchingFunctionInputData](API\Plugins\NiagaraEditor\ViewModels\Stack\FMatchingFunctionInputData) > * OptionalCache ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [FGuid](API\Runtime\Core\Misc\FGuid) > FNiagaraStackGraphUtilities::GetChildrenInputGuids ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [FName](API\Runtime\Core\UObject\FName) ParentInputName ) }


code: namespace FNiagaraStackGraphUtilities { [TSet](API\Runtime\Core\Containers\TSet)< [FGuid](API\Runtime\Core\Misc\FGuid) > FNiagaraStackGraphUtilities::GetHiddenChildrenInputGuids ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [FName](API\Runtime\Core\UObject\FName) ParentInput, [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


description: Module script calls do not have direct inputs, but rely on the parameter map being initialized correctly. This utility function resolves which of the module's parameters are reachable during compilation and returns a list of pins on the parameter map node that do not have to be compiled.

code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * > FNiagaraStackGraphUtilities::GetUnusedFunctionInputPins ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [FCompileConstantResolver](API\Plugins\NiagaraEditor\FCompileConstantResolver) ConstantResolver ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetStackFunctionStaticSwitchPins ( const [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [TArray](API\Runtime\Core\Containers\TArray)< [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * > & OutInputPins, [TSet](API\Runtime\Core\Containers\TSet)< [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * > & OutHiddenPins, [FCompileConstantResolver](API\Plugins\NiagaraEditor\FCompileConstantResolver) & ConstantResolver ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetStackFunctionOutputVariables ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [FCompileConstantResolver](API\Plugins\NiagaraEditor\FCompileConstantResolver) ConstantResolver, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & OutOutputVariables, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & OutOutputVariablesWithOriginalAliasesIntact ) }


description: Gather a stack function's input and output variables. Returns false if stack function does not have valid parameter map history build (e.g. no parameter map pin connected to output node of dynamic input script.)

code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::GetStackFunctionInputAndOutputVariables ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, [FCompileConstantResolver](API\Plugins\NiagaraEditor\FCompileConstantResolver) ConstantResolver, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & OutVariables, [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & OutVariablesWithOriginalAliasesIntact ) }


code: namespace FNiagaraStackGraphUtilities { UNiagaraNodeParameterMapSet * FNiagaraStackGraphUtilities::GetStackFunctionOverrideNode ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode ) }


code: namespace FNiagaraStackGraphUtilities { UNiagaraNodeParameterMapSet & FNiagaraStackGraphUtilities::GetOrCreateStackFunctionOverrideNode ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, const [FGuid](API\Runtime\Core\Misc\FGuid) & PreferredOverrideNodeGuid ) }


code: namespace FNiagaraStackGraphUtilities { [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * FNiagaraStackGraphUtilities::GetStackFunctionInputOverridePin ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & StackFunctionCall, [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) AliasedInputParameterHandle ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::ConnectPinToInputNode ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & Pin, [UNiagaraNodeInput](API\Plugins\NiagaraEditor\UNiagaraNodeInput) & InputNode ) }


code: namespace FNiagaraStackGraphUtilities { [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & FNiagaraStackGraphUtilities::GetOrCreateStackFunctionInputOverridePin ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & StackFunctionCall, [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) AliasedInputParameterHandle, [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) InputType, const [FGuid](API\Runtime\Core\Misc\FGuid) & InputScriptVariableId, const [FGuid](API\Runtime\Core\Misc\FGuid) & PreferredOverrideNodeGuid ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::IsOverridePinForFunction ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & OverridePin, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * > FNiagaraStackGraphUtilities::GetOverridePinsForFunction ( UNiagaraNodeParameterMapSet & OverrideNode, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::RemoveNodesForStackFunctionInputOverridePin ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & StackFunctionInputOverridePin ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::RemoveNodesForStackFunctionInputOverridePin ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & StackFunctinoInputOverridePin, [TArray](API\Runtime\Core\Containers\TArray)< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) >> & OutRemovedDataObjects ) }


code: namespace FNiagaraStackGraphUtilities { [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * FNiagaraStackGraphUtilities::GetLinkedValueHandleForFunctionInput ( const [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & OverridePin ) }


code: namespace FNiagaraStackGraphUtilities { [TSet](API\Runtime\Core\Containers\TSet)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > FNiagaraStackGraphUtilities::GetParametersForContext ( [UEdGraph](API\Runtime\Engine\EdGraph\UEdGraph) * Graph, [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) & System ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::SetLinkedValueHandleForFunctionInput ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & OverridePin, [FNiagaraParameterHandle](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraParameterHandle) LinkedParameterHandle, const [TSet](API\Runtime\Core\Containers\TSet)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & KnownParameters, [ENiagaraDefaultMode](API\Plugins\Niagara\ENiagaraDefaultMode) DesiredDefaultMode, const [FGuid](API\Runtime\Core\Misc\FGuid) & NewNodePersistentId ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::SetDataInterfaceValueForFunctionInput ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & OverridePin, [UClass](API\Runtime\CoreUObject\UObject\UClass) * DataObjectType, [FString](API\Runtime\Core\Containers\FString) InputNodeInputName, [UNiagaraDataInterface](API\Plugins\Niagara\UNiagaraDataInterface) *& OutDataObject, const [FGuid](API\Runtime\Core\Misc\FGuid) & NewNodePersistentId ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::SetObjectAssetValueForFunctionInput ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & OverridePin, [UClass](API\Runtime\CoreUObject\UObject\UClass) * DataObjectType, [FString](API\Runtime\Core\Containers\FString) InputNodeInputName, [UObject](API\Runtime\CoreUObject\UObject\UObject) * ObjectAsset, const [FGuid](API\Runtime\Core\Misc\FGuid) & NewNodePersistentId ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::SetDynamicInputForFunctionInput ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & OverridePin, [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) * DynamicInput, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) *& OutDynamicInputFunctionCall, const [FGuid](API\Runtime\Core\Misc\FGuid) & NewNodePersistentId, [FString](API\Runtime\Core\Containers\FString) SuggestedName, const [FGuid](API\Runtime\Core\Misc\FGuid) & InScriptVersion ) }


code: namespace FNiagaraStackGraphUtilities { [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * FNiagaraStackGraphUtilities::GetParameterMapInputPin ( [UNiagaraNode](API\Plugins\NiagaraEditor\UNiagaraNode) & Node ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::SetCustomExpressionForFunctionInput ( [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & OverridePin, const [FString](API\Runtime\Core\Containers\FString) & CustomExpression, [UNiagaraNodeCustomHlsl](API\Plugins\NiagaraEditor\UNiagaraNodeCustomHlsl) *& OutDynamicInputFunctionCall, const [FGuid](API\Runtime\Core\Misc\FGuid) & NewNodePersistentId ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::RemoveModuleFromStack ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) & OwningScript, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::RemoveModuleFromStack ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) & OwningSystem, [FGuid](API\Runtime\Core\Misc\FGuid) OwningEmitterId, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::RemoveModuleFromStack ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) & OwningScript, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode, [TArray](API\Runtime\Core\Containers\TArray)< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UNiagaraNodeInput](API\Plugins\NiagaraEditor\UNiagaraNodeInput) >> & OutRemovedInputNodes ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::RemoveModuleFromStack ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) & OwningSystem, [FGuid](API\Runtime\Core\Misc\FGuid) OwningEmitterId, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode, [TArray](API\Runtime\Core\Containers\TArray)< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UNiagaraNodeInput](API\Plugins\NiagaraEditor\UNiagaraNodeInput) >> & OutRemovedInputNodes ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * FNiagaraStackGraphUtilities::AddScriptModuleToStack ( const [FAddScriptModuleToStackArgs](API\Plugins\NiagaraEditor\ViewModels\Stack\FAddScriptModuleToStackArgs) & Args ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * FNiagaraStackGraphUtilities::AddScriptModuleToStack ( [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) ModuleScriptAsset, [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) & TargetOutputNode, int32 TargetIndex, [FString](API\Runtime\Core\Containers\FString) SuggestedName ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * FNiagaraStackGraphUtilities::AddScriptModuleToStack ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) * ModuleScript, [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) & TargetOutputNode, int32 TargetIndex, [FString](API\Runtime\Core\Containers\FString) SuggestedName, const [FGuid](API\Runtime\Core\Misc\FGuid) & VersionGuid ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::FindScriptModulesInStack ( [FAssetData](API\Runtime\CoreUObject\AssetRegistry\FAssetData) ModuleScriptAsset, [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) & TargetOutputNode, [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * > OutFunctionCalls ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeAssignment](API\Plugins\NiagaraEditor\UNiagaraNodeAssignment) * FNiagaraStackGraphUtilities::AddParameterModuleToStack ( const [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) > & ParameterVariables, [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) & TargetOutputNode, int32 TargetIndex, const [TArray](API\Runtime\Core\Containers\TArray)< [FString](API\Runtime\Core\Containers\FString) > & InDefaultValues ) }


code: namespace FNiagaraStackGraphUtilities { [TOptional](API\Runtime\Core\IO\TOptional)< bool > FNiagaraStackGraphUtilities::GetModuleIsEnabled ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::SetModuleIsEnabled ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, bool bIsEnabled ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::ValidateGraphForOutput ( [UNiagaraGraph](API\Plugins\NiagaraEditor\UNiagaraGraph) & NiagaraGraph, [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) ScriptUsage, [FGuid](API\Runtime\Core\Misc\FGuid) ScriptUsageId, [FText](API\Runtime\Core\Internationalization\FText) & ErrorMessage ) }


code: namespace FNiagaraStackGraphUtilities { [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) * FNiagaraStackGraphUtilities::ResetGraphForOutput ( [UNiagaraGraph](API\Plugins\NiagaraEditor\UNiagaraGraph) & NiagaraGraph, [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) ScriptUsage, [FGuid](API\Runtime\Core\Misc\FGuid) ScriptUsageId, const [FGuid](API\Runtime\Core\Misc\FGuid) & PreferredOutputNodeGuid, const [FGuid](API\Runtime\Core\Misc\FGuid) & PreferredInputNodeGuid ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::IsRapidIterationType ( const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InputType ) }


code: namespace FNiagaraStackGraphUtilities { [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) * FNiagaraStackGraphUtilities::GetParameterMapOutputPin ( [UNiagaraNode](API\Plugins\NiagaraEditor\UNiagaraNode) & Node ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::CleanUpStaleRapidIterationParameters ( [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) Emitter ) }


code: namespace FNiagaraStackGraphUtilities { [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) FNiagaraStackGraphUtilities::CreateRapidIterationParameter ( const [FString](API\Runtime\Core\Containers\FString) & UniqueEmitterName, [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) ScriptUsage, const [FName](API\Runtime\Core\UObject\FName) & AliasedInputName, const [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) & InputType ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::CleanUpStaleRapidIterationParameters ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) & Script, [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) OwningEmitter ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetNewParameterAvailableTypes ( [TArray](API\Runtime\Core\Containers\TArray)< [FNiagaraTypeDefinition](API\Plugins\Niagara\FNiagaraTypeDefinition) > & OutAvailableTypes, [FName](API\Runtime\Core\UObject\FName) Namespace ) }


code: namespace FNiagaraStackGraphUtilities { [TOptional](API\Runtime\Core\IO\TOptional)< [FName](API\Runtime\Core\UObject\FName) > FNiagaraStackGraphUtilities::GetNamespaceForScriptUsage ( [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) ScriptUsage ) }


code: namespace FNiagaraStackGraphUtilities { [TOptional](API\Runtime\Core\IO\TOptional)< [FName](API\Runtime\Core\UObject\FName) > FNiagaraStackGraphUtilities::GetNamespaceForOutputNode ( const [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) * OutputNode ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::IsValidDefaultDynamicInput ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) & OwningScript, [UEdGraphPin](API\Runtime\Engine\EdGraph\UEdGraphPin) & DefaultPin ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::CanWriteParameterFromUsageViaOutput ( [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) Parameter, const [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) * OutputNode ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::CanWriteParameterFromUsage ( [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) Parameter, [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) Usage, const [TOptional](API\Runtime\Core\IO\TOptional)< [FName](API\Runtime\Core\UObject\FName) > & StackContextOverride, const [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & StackContextAllOverrides ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::MoveModule ( [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) & SourceScript, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleToMove, [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) & TargetSystem, [FGuid](API\Runtime\Core\Misc\FGuid) TargetEmitterHandleId, [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) TargetUsage, [FGuid](API\Runtime\Core\Misc\FGuid) TargetUsageId, int32 TargetModuleIndex, bool bForceCopy, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) *& OutMovedModue ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::GetStackIssuesRecursively ( const [UNiagaraStackEntry](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackEntry) *const Entry, [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraStackErrorItem](API\Plugins\NiagaraEditor\ViewModels\Stack\UNiagaraStackErrorItem) * > & OutIssues ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetOrderedModuleNodes ( [UNiagaraNodeOutput](API\Plugins\NiagaraEditor\UNiagaraNodeOutput) & OutputNode, [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * > & ModuleNodes ) }


description: Whether a parameter is allowed to be used in a certain execution category. Used to check if parameter can be dropped on a module or funciton stack entry.

code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::ParameterAllowedInExecutionCategory ( const [FName](API\Runtime\Core\UObject\FName) InParameterName, const [FName](API\Runtime\Core\UObject\FName) ExecutionCategory ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::RebuildEmitterNodes ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) & System ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::FindAffectedScripts ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * System, [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) Emitter, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & ModuleNode, [TArray](API\Runtime\Core\Containers\TArray)< [TWeakObjectPtr](API\Runtime\Core\UObject\TWeakObjectPtr)< [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) >> & OutAffectedScripts ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GatherRenamedStackFunctionOutputVariableNames ( [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) Emitter, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, const [FString](API\Runtime\Core\Containers\FString) & OldFunctionName, const [FString](API\Runtime\Core\Containers\FString) & NewFunctionName, [TMap](API\Runtime\Core\Containers\TMap)< [FName](API\Runtime\Core\UObject\FName), [FName](API\Runtime\Core\UObject\FName) > & OutOldToNewNameMap ) }


description: Gets the valid namespaces which new parameters for this usage can write to.

code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetNamespacesForNewWriteParameters ( [EStackEditContext](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraStackGra-_1) EditContext, [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) Usage, const [TOptional](API\Runtime\Core\IO\TOptional)< [FName](API\Runtime\Core\UObject\FName) > & StackContextAlias, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & OutNamespacesForNewParameters ) }


code: namespace FNiagaraStackGraphUtilities { bool FNiagaraStackGraphUtilities::TryRenameAssignmentTarget ( [UNiagaraNodeAssignment](API\Plugins\NiagaraEditor\UNiagaraNodeAssignment) & OwningAssignmentNode, [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) CurrentAssignmentTarget, [FName](API\Runtime\Core\UObject\FName) NewAssignmentTargetName ) }


description: Gets the valid namespaces which new parameters for this usage can be read from.

code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::GetNamespacesForNewReadParameters ( [EStackEditContext](API\Plugins\NiagaraEditor\ViewModels\Stack\FNiagaraStackGra-_1) EditContext, [ENiagaraScriptUsage](API\Plugins\Niagara\ENiagaraScriptUsage) Usage, [TArray](API\Runtime\Core\Containers\TArray)< [FName](API\Runtime\Core\UObject\FName) > & OutNamespacesForNewParameters ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::RenameAssignmentTarget ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) & OwningSystem, [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) OwningEmitter, [UNiagaraScript](API\Plugins\Niagara\UNiagaraScript) & OwningScript, [UNiagaraNodeAssignment](API\Plugins\NiagaraEditor\UNiagaraNodeAssignment) & OwningAssignmentNode, [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) CurrentAssignmentTarget, [FName](API\Runtime\Core\UObject\FName) NewAssignmentTargetName ) }


description: Helper to add a new pin to a ParameterMapBaseNode, and conditionally add a new parameter to the underlyingUNiagaraGraphif it does not yet exist.

code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::AddNewVariableToParameterMapNode ( UNiagaraNodeParameterMapBase * MapBaseNode, bool bCreateInputPin, const [FNiagaraVariable](API\Plugins\Niagara\FNiagaraVariable) & NewVariable ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::RenameReferencingParameters ( [UNiagaraSystem](API\Plugins\Niagara\UNiagaraSystem) * System, [FVersionedNiagaraEmitter](API\Plugins\Niagara\FVersionedNiagaraEmitter) Emitter, [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & FunctionCallNode, const [FString](API\Runtime\Core\Containers\FString) & OldName, const [FString](API\Runtime\Core\Containers\FString) & NewName ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::AddNewVariableToParameterMapNode ( UNiagaraNodeParameterMapBase * MapBaseNode, bool bCreateInputPin, const [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * NewScriptVar ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * > FNiagaraStackGraphUtilities::GetAllModuleNodes ( [TSharedRef](API\Runtime\Core\Templates\TSharedRef)< [FNiagaraEmitterViewModel](API\Plugins\NiagaraEditor\ViewModels\FNiagaraEmitterViewModel) > EmitterViewModel ) }


code: namespace FNiagaraStackGraphUtilities { [TArray](API\Runtime\Core\Containers\TArray)< [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) * > FNiagaraStackGraphUtilities::GetAllModuleNodes ( [UNiagaraGraph](API\Plugins\NiagaraEditor\UNiagaraGraph) * Graph ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::SynchronizeVariableToLibraryAndApplyToGraph ( [UNiagaraScriptVariable](API\Plugins\NiagaraEditor\UNiagaraScriptVariable) * ScriptVarToSync ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::PopulateFunctionCallNameBindings ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & InFunctionCallNode ) }


code: namespace FNiagaraStackGraphUtilities { void FNiagaraStackGraphUtilities::SynchronizeReferencingMapPinsWithFunctionCall ( [UNiagaraNodeFunctionCall](API\Plugins\NiagaraEditor\UNiagaraNodeFunctionCall) & InFunctionCallNode ) }