Navigation
API > API/Editor > API/Editor/BlueprintGraph
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UEdGraphSchema
- UEdGraphSchema_K2
- UAnimationConduitGraphSchema
- UAnimationGraphSchema
- UAnimationCustomTransitionSchema
- UAnimationStateGraphSchema
- UAnimationTransitionSchema
- UGameplayAbilityGraphSchema
- UPropertyBagSchema
- UWidgetGraphSchema
References
| Module | BlueprintGraph |
| Header | /Engine/Source/Editor/BlueprintGraph/Classes/EdGraphSchema_K2.h |
| Include | #include "EdGraphSchema_K2.h" |
Syntax
class UEdGraphSchema_K2 : public UEdGraphSchema
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< FBlueprintCallableFunctionRedirect > | EditoronlyBPFunctionRedirects |
Constructors
| Type | Name | Description | |
|---|---|---|---|
UEdGraphSchema_K2
(
const FObjectInitializer& ObjectInitializer |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddExtraFunctionFlags
(
const UEdGraph* CurrentGraph, |
Add the specified flags to the function entry node of the graph, to make sure they get compiled in to the generated function | |
| void | AddSelectedReplaceableNodes
(
FToolMenuSection& Section, |
Generate a list of replaceable nodes for context menu based on the editor's current selection | |
| bool | ArePinTypesCompatible
(
const FEdGraphPinType& Output, |
Returns true if the two pin types are schema compatible. | |
| void | AutowireConversionNode
(
UEdGraphPin* InputPin, |
Tries to connect any pins with matching types and directions from the conversion node to the specified input and output pins. | |
| FVector2D | CalculateAveragePositionBetweenNodes
(
UEdGraphPin* InputPin, |
Calculates an average position between the nodes owning the two specified pins. | |
| bool | CanFunctionBeUsedInGraph
(
const UClass* InClass, |
Checks to see if the passed in function is valid in the graph for the current class | |
| bool | CanKismetOverrideFunction
(
const UFunction* Function |
Can this function be overridden by kismet (either placed as event or new function graph created) | |
| bool | CanPromotePinToVariable
(
const UEdGraphPin& Pin, |
Can Pin be promoted to a variable? | |
| bool | CanRecombineStructPin
(
const UEdGraphPin& Pin |
Can Pin be recombined back to its original form | |
| bool | CanSplitStructPin
(
const UEdGraphPin& Pin |
Can Pin be split in to its component elements | |
| bool | CanUserKismetAccessVariable
(
const FProperty* Property, |
Can this variable be accessed by kismet code | |
| bool | CanUserKismetCallFunction
(
const UFunction* Function |
Can this function be called by kismet code | |
| bool | ClassHasBlueprintAccessibleMembers
(
const UClass* InClass |
See if a class has any members that are accessible by a blueprint | |
| bool | CollapseGatewayNode
(
UK2Node* InNode, |
Makes connections into/or out of the gateway node, connect directly to the associated networks on the opposite side of the tunnel When done, none of the pins on the gateway node will be connected to anything. | |
| void | CombineTwoPinNetsAndRemoveOldPins
(
UEdGraphPin* InPinA, |
Connects all of the linked pins from PinA to all of the linked pins from PinB, removing both PinA and PinB from being linked to anything else Requires the nodes that own the pins to be in the same graph already (post-merging) | |
| void | ConfigureVarNode
(
UK2Node_Variable* InVarNode, |
Configure the supplied variable node based on the supplied info | |
| void | ConstructBasicPinTooltip
(
const UEdGraphPin& Pin, |
||
| UK2Node * | Convert a deprecated node into a function call node, called from per-node ConvertDeprecatedNode | ||
| bool | ConvertPropertyToPinType
(
const FProperty* Property, |
Convert the type of a FProperty to the corresponding pin type. | |
| void | CreateFunctionGraphTerminators
(
UEdGraph& Graph, |
Populate new function graph with entry and possibly return node | |
| void | CreateFunctionGraphTerminators
(
UEdGraph& Graph, |
Populate new function graph with entry and possibly return node | |
| void | CreateMacroGraphTerminators
(
UEdGraph& Graph, |
Populate new macro graph with entry and possibly return node | |
| UK2Node * | CreateSplitPinNode
(
UEdGraphPin* Pin, |
Helper function to create the expansion node. | |
| bool | DefaultValueSimpleValidation
(
const FEdGraphPinType& PinType, |
Do validation, that doesn't require a knowledge about actual pin | |
| const FPinConnectionResponse | DetermineConnectionResponseOfCompatibleTypedPins
(
const UEdGraphPin* PinA, |
Returns the connection response for connecting PinA to PinB, which have already been determined to be compatible types with a compatible direction. | |
| bool | DoesGraphSupportImpureFunctions
(
const UEdGraph* InGraph |
Checks if the graph supports impure functions | |
| bool | Some inherited schemas don't want anim-notify actions listed, so this is an easy way to check that | ||
| bool | Determine if this graph supports collapsing nodes into subgraphs | ||
| bool | Determine if this graph supports event dispatcher | ||
| bool | DoesTypeHaveSubtypes
(
const FName Category |
Returns whether or not the specified type has valid subtypes available | |
| float | EstimateNodeHeight
(
UEdGraphNode* Node |
Calculates an estimated height for the specified node | |
| UEdGraphPin * | FindExecutionPin
(
const UEdGraphNode& Node, |
Searches for the first execution pin with the specified direction on the node | |
| bool | FindFunctionParameterDefaultValue
(
const UFunction* Function, |
Given a function and property, return the default value | |
| UEdGraphPin * | FindSelfPin
(
const UEdGraphNode& Node, |
Searches for the first Self pin with the specified direction on the node | |
| UFunction * | FindSetVariableByNameFunction
(
const FEdGraphPinType& PinType |
Find a 'set value by name' function for the specified pin, if it exists | |
| TOptional< FFindSpecializedConversionNodeResults > | FindSpecializedConversionNode
(
const FEdGraphPinType& OutputPinType, |
||
| bool | FunctionCanBePlacedAsEvent
(
const UFunction* InFunction |
Returns whether a function is marked 'override' and doesn't have any out parameters | |
| bool | FunctionCanBeUsedInDelegate
(
const UFunction* InFunction |
Can this function be called by kismet delegate | |
| bool | FunctionHasParamOfType
(
const UFunction* InFunction, |
Determine if a function has a parameter of a specific type. | |
| void | GetAutoEmitTermParameters
(
const UFunction* Function, |
Returns a list of parameters for the function that are specified as automatically emitting terms for unconnected ref parameters in the compiler (MD_AutoCreateRefTerm) | |
| UFunction * | GetCallableParentFunction
(
UFunction* Function |
Finds the parent function for the specified function, if any | |
| FText | GetCategoryText
(
FName Category, |
Returns the FText to use for a given schema category and subcategory | |
| FText | GetCategoryText
(
const FName Category, |
Returns the FText to use for a given schema category | |
| FText | GetFriendlySignatureName
(
const UFunction* Function |
Returns friendly signature name if possible or Removes any mangling to get the unmangled signature name of the function | |
| void | GetNonExistentVariableMenu
(
FToolMenuSection& Section, |
Create menu for variable get/set nodes which refer to a variable which does not exist. | |
| void | GetPinDefaultValuesFromString
(
const FEdGraphPinType& PinType, |
Reads in a FString and gets the values of the pin defaults for that type. | |
| bool | GetPropertyCategoryInfo
(
const FProperty* TestProperty, |
Helper function for filling out Category, SubCategory, and SubCategoryObject based on a FProperty | |
| void | GetReplaceVariableMenu
(
FToolMenuSection& Section, |
Create menu for variable get/set nodes which allows for the replacement of variables | |
| void | GetReplaceVariableMenu
(
UToolMenu* Menu, |
Create sub menu that shows all possible variables that can be used to replace the existing variable reference | |
| void | GetVariableTypeTree
(
TArray< TSharedPtr< FPinTypeTreeInfo > >& TypeTree, |
Get the type tree for all of the property types valid for this schema | |
| void | HandleParameterDefaultValueChanged
(
UK2Node* TargetNode |
Call to let blueprint and UI know that parameters have changed for a function/macro/etc | |
| bool | HasFunctionAnyOutputParameter
(
const UFunction* Function |
Returns if function has output parameter(s) | |
| bool | HasWildcardParams
(
const UFunction* Function |
Returns true if the function has wildcard parameters, e.g. uses runtime type information that may require safe failure handling | |
| bool | IsActorValidForLevelScriptRefs
(
const AActor* TestActor, |
Whether or not the specified actor is a valid target for bound events and literal references (in the right level, not a builder brush, etc | |
| bool | IsAllowableBlueprintVariableType
(
const UClass* InClass, |
Returns true if this class is safe to be used as a variable in blueprints | |
| bool | IsAllowableBlueprintVariableType
(
const UEnum* InEnum |
Returns true if this enum is safe to be used as a variable in blueprints | |
| bool | IsAllowableBlueprintVariableType
(
const UScriptStruct* InStruct, |
Returns true if this struct is safe to to be used as a variable in blueprints | |
| bool | IsAutoCreateRefTerm
(
const UEdGraphPin* Pin |
Returns true if the owning node is a function with AutoCreateRefTerm meta data | |
| bool | IsCompositeGraph
(
const UEdGraph* TestEdGraph |
Checks to see if the specified graph is a composite graph | |
| bool | IsConstFunctionGraph
(
const UEdGraph* TestEdGraph, |
Checks to see if the specified graph is a const function graph | |
| bool | IsConstructionScript
(
const UEdGraph* TestEdGraph |
Checks to see if the specified graph is a construction script | |
| bool | IsExecPin
(
const UEdGraphPin& Pin |
Checks to see if a pin is an execution pin. | |
| bool | IsGraphMarkedThreadSafe
(
const UEdGraph* InGraph |
Checks if the graph is marked as thread safe | |
| bool | IsIndexWildcardCompatible
(
const FEdGraphPinType& PinType |
Returns whether a pin category is compatible with an Index Wildcard (PC_Wildcard and PSC_Index) | |
| bool | IsMetaPin
(
const UEdGraphPin& Pin |
Checks to see if a pin is a meta-pin (either a Self or Exec pin) | |
| bool | IsPropertyExposedOnSpawn
(
const FProperty* Property |
||
| bool | IsStaticFunctionGraph
(
const UEdGraph* TestEdGraph |
Checks to see if the specified graph is a static function graph | |
| bool | IsWildcardProperty
(
const FProperty* ParamProperty |
Determines if the specified param property is intended to be used as a wildcard (for custom thunk functions, like in our array library, etc.) | |
| void | LinkDataPinFromOutputToInput
(
UEdGraphNode* InOutputNode, |
Make links from all data pins from InOutputNode output to InInputNode input. | |
| void | MarkFunctionEntryAsEditable
(
const UEdGraph* CurrentGraph, |
Marks the function entry of a graph as editable via function editor or not-editable | |
| void | OnCreateNonExistentLocalVariable
(
UK2Node_Variable* Variable, |
Create the local variable that the broken node refers to | |
| void | OnCreateNonExistentVariable
(
UK2Node_Variable* Variable, |
Create the variable that the broken node refers to | |
| void | OnReplaceVariableForVariableNode
(
UK2Node_Variable* Variable, |
Replace the variable that a variable node refers to when the variable it refers to does not exist | |
| bool | PinDefaultValueIsEditable
(
const UEdGraphPin& InGraphPin |
Returns true if the pin has a value field that can be edited inline | |
| bool | PinHasCustomDefaultFormat
(
const UEdGraphPin& InGraphPin |
Returns true if the pin has a custom default string format and it is not safe to use ExportText | |
| bool | PinHasSplittableStructType
(
const UEdGraphPin* InGraphPin |
Returns whether the supplied Pin is a splittable struct. | |
| bool | ReplaceOldNodeWithNew
(
UEdGraphNode* OldNode, |
Moves all connections from the old node to the new one. | |
| void | ReplaceSelectedNode
(
UEdGraphNode* SourceNode, |
Function to replace current graph node reference object with a new object | |
| TOptional< FSearchForAutocastFunctionResults > | SearchForAutocastFunction
(
const FEdGraphPinType& OutputPinType, |
||
| void | SelectAllNodesInDirection
(
TEnumAsByte< enum EEdGraphPinDirection > InDirection, |
||
| void | SetPinAutogeneratedDefaultValue
(
UEdGraphPin* Pin, |
Sets the autogenerated default value for a pin, optionally using the passed in function and parameter. | |
| void | Sets the autogenerated default value for a pin using the default for that type. | ||
| void | SetPinDefaultValueAtConstruction
(
UEdGraphPin* Pin, |
Sets the pin defaults, but not autogenerated defaults, at pin construction time. | |
| void | Shutdown () |
Function called when the owning module is shut down | |
| UK2Node_VariableGet * | SpawnVariableGetNode
(
const FVector2D GraphPosition, |
Creates a new variable getter node and adds it to ParentGraph | |
| UK2Node_VariableSet * | SpawnVariableSetNode
(
const FVector2D GraphPosition, |
Creates a new variable setter node and adds it to ParentGraph | |
| FText | TerminalTypeToText
(
const FName Category, |
Converts a terminal type into a fully qualified FText (e.g., object'ObjectName'). | |
| FText | TypeToText
(
const FProperty*const Property |
Converts the type of a property into a fully qualified string (e.g., object'ObjectName'). | |
| FText | TypeToText
(
const FEdGraphPinType& Type |
Converts a pin type into a fully qualified FText (e.g., object'ObjectName'). | |
| void | ValidateExistingConnections
(
UEdGraphPin* Pin |
Utility that makes sure existing connections are valid, breaking any that are now illegal. |
Overridden from UEdGraphSchema
| Type | Name | Description | |
|---|---|---|---|
| bool | ArePinsCompatible
(
const UEdGraphPin* PinA, |
Returns true if the types and directions of two pins are schema compatible. | |
| bool | ArePinTypesEquivalent
(
const FEdGraphPinType& PinA, |
Returns true if the types are schema Equivalent. | |
| void | BackwardCompatibilityNodeConversion
(
UEdGraph* Graph, |
||
| void | BreakNodeLinks
(
UEdGraphNode& TargetNode |
Breaks all links from/to a single node | |
| void | BreakPinLinks
(
UEdGraphPin& TargetPin, |
Breaks all links from/to a single pin | |
| void | BreakSinglePinLink
(
UEdGraphPin* SourcePin, |
Breaks the link between two nodes. | |
| const FPinConnectionResponse | CanCreateConnection
(
const UEdGraphPin* A, |
Determine if a connection can be created between two pins. | |
| bool | CanDuplicateGraph
(
UEdGraph* InSourceGraph |
Can this graph type be duplicated? | |
| bool | CanEncapuslateNode
(
UEdGraphNode const& TestNode |
Can TestNode be encapsulated into a child graph? | |
| bool | CanShowDataTooltipForPin
(
const UEdGraphPin& Pin |
Checks to see if a pin supports Pin Value Inspection Tooltips | |
| bool | CanVariableBeDropped
(
UEdGraph* InGraph, |
Check whether variables can be dropped onto the graph | |
| void | ClearPinWatch
(
UEdGraphPin const* Pin |
If the specified pin is currently being watched, then this will clear the watch from the graph's debug system. | |
| bool | Try to create an automatic cast or other conversion node node to facilitate a connection between two pins. | ||
| bool | CreatePromotedConnection
(
UEdGraphPin* A, |
Try to create a promotion from one type to another in order to make a connection between two pins. | |
| UEdGraphNode * | CreateSubstituteNode
(
UEdGraphNode* Node, |
Attempts to construct a substitute node that is unique within its graph. | |
| bool | DoesDefaultValueMatchAutogenerated
(
const UEdGraphPin& InPin |
Returns if the pin's value matches what the true (autogenerated) default value for that pin would be | |
| bool | An easy way to check to see if the current graph system supports pin watching. | ||
| void | DroppedAssetsOnGraph
(
const TArray< FAssetData >& Assets, |
Called when asset(s) are dropped onto a graph background. | |
| void | DroppedAssetsOnNode
(
const TArray< FAssetData >& Assets, |
Called when asset(s) are dropped onto the specified node | |
| void | DroppedAssetsOnPin
(
const TArray< FAssetData >& Assets, |
Called when asset(s) are dropped onto the specified pin | |
| UEdGraphPin * | DropPinOnNode
(
UEdGraphNode* InTargetNode, |
Some schemas have nodes that support the user dynamically adding pins when dropping a connection on the node | |
| UEdGraph * | DuplicateGraph
(
UEdGraph* GraphToDuplicate |
Duplicate a given graph return the duplicate graph | |
| bool | FadeNodeWhenDraggingOffPin
(
const UEdGraphNode* Node, |
When dragging off a pin, we want to duck the alpha of some nodes | |
| void | Forces cached visualization data to refresh | ||
| float | GetActionFilteredWeight
(
const FGraphActionListBuilderBase::ActionGroup& InCurrentAction, |
Calculate the weight priority of a given action for the context menu. | |
| void | GetAssetsGraphHoverMessage
(
const TArray< FAssetData >& Assets, |
Allows schema to generate a tooltip (icon & message) when the specified asset(s) are dragged over the specified graph | |
| void | GetAssetsNodeHoverMessage
(
const TArray< FAssetData >& Assets, |
Allows schema to generate a tooltip (icon & message) when the specified asset(s) are dragged over the specified node | |
| void | GetAssetsPinHoverMessage
(
const TArray< FAssetData >& Assets, |
Allows schema to generate a tooltip (icon & message) when the specified asset(s) are dragged over the specified pin | |
| void | GetContextMenuActions
(
UToolMenu* Menu, |
Gets actions that should be added to the right-click context menu for a node or pin | |
| TSharedPtr< FEdGraphSchemaAction > | Returns schema action to create comment from implemention | ||
| int32 | Returns the current cache title refresh ID that is appropriate for the passed node | ||
| void | GetGraphDisplayInformation
(
const UEdGraph& Graph, |
Gets display information for a graph | |
| EGraphType | GetGraphType
(
const UEdGraph* TestEdGraph |
||
| int32 | GetNodeSelectionCount
(
const UEdGraph* Graph |
Returns the currently selected graph node count | |
| FText | GetPinDisplayName
(
const UEdGraphPin* Pin |
Get the name to show in the editor | |
| FLinearColor | GetPinTypeColor
(
const FEdGraphPinType& PinType |
Gets the draw color of a pin based on it's type. | |
| FGraphSchemaSearchWeightModifiers | Get the weight modifiers from the console variable settings | ||
| FLinearColor | GetSecondaryPinTypeColor
(
const FEdGraphPinType& PinType |
||
| void | HandleGraphBeingDeleted
(
UEdGraph& GraphBeingRemoved |
Handle a graph being removed by the user (potentially removing associated bound nodes, etc...) | |
| bool | IsCacheVisualizationOutOfDate
(
int32 InVisualizationCacheID |
Checks if a CacheRefreshID is out of date | |
| bool | IsDelegateCategory
(
const FName Category |
Is given string a delegate category name ? | |
| bool | IsPinBeingWatched
(
UEdGraphPin const* Pin |
Checks to see if the specified pin is being watched by the graph's debug system. | |
| FString | IsPinDefaultValid
(
const UEdGraphPin* Pin, |
Determine if the supplied pin default values would be valid. | |
| bool | IsSelfPin
(
const UEdGraphPin& Pin |
Checks to see if a pin is a Self pin (indicating the calling context for the node) | |
| bool | IsTitleBarPin
(
const UEdGraphPin& Pin |
Query if the passed in pin is a title bar pin. | |
| void | OnPinConnectionDoubleCicked
(
UEdGraphPin* PinA, |
Handles double-clicking on a pin<->pin connection | |
| void | RecombinePin
(
UEdGraphPin* Pin |
Collapses a pin and its siblings back in to the original pin | |
| void | ReconstructNode
(
UEdGraphNode& TargetNode, |
Reconstructs a node | |
| void | ResetPinToAutogeneratedDefaultValue
(
UEdGraphPin* Pin, |
Resets a pin back to it's autogenerated default value, optionally calling the default value change callbacks | |
| bool | SafeDeleteNodeFromGraph
(
UEdGraph* Graph, |
Perform any logic necessary to safely remove this node from the graph. | |
| bool | When a node is removed, this method determines whether we should remove it immediately or use the old (slower) code path that results in all node being recreated: | ||
| bool | ShouldHidePinDefaultValue
(
UEdGraphPin* Pin |
If we should disallow viewing and editing of the supplied pin | |
| bool | ShouldShowAssetPickerForPin
(
UEdGraphPin* Pin |
Should the Pin in question display an asset picker | |
| void | SplitPin
(
UEdGraphPin* Pin, |
Split a pin in to subelements | |
| bool | SupportsDropPinOnNode
(
UEdGraphNode* InTargetNode, |
Checks if the node supports dropping a pin on it | |
| bool | TryCreateConnection
(
UEdGraphPin* A, |
Try to make a connection between two pins. | |
| void | TrySetDefaultObject
(
UEdGraphPin& Pin, |
Sets the object to the specified pin | |
| void | TrySetDefaultText
(
UEdGraphPin& InPin, |
Sets the text to the specified pin | |
| void | TrySetDefaultValue
(
UEdGraphPin& Pin, |
Sets the string to the specified pin; even if it is invalid it is still set. |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FCreateSplitPinNodeParams | |||
| FFindSpecializedConversionNodeResults | Find an appropriate node that can convert from one pin type to another (not a cast; e.g. "MakeLiteralArray" node) | ||
| FPinTypeTreeInfo | FPinTypeInfo. | ||
| FSearchForAutocastFunctionResults | Find an appropriate function to call to perform an automatic cast operation |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EDelegateFilterMode | |||
| EFunctionType | Flags to indicate different types of blueprint callable functions |
Constants
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | FindSpecializedConversionNode
(
const FEdGraphPinType& OutputPinType, |
Use the FFindSpecializedConversionNodeResults variant. | |
| bool | FindSpecializedConversionNode
(
const UEdGraphPin* OutputPin, |
Use the FFindSpecializedConversionNodeResults variant. | |
| bool | SearchForAutocastFunction
(
const FEdGraphPinType& OutputPinType, |
Use the FSearchForAutocastFunctionResults variant. |