UEdGraphSchema

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/EdGraph/EdGraphSchema.h

Include

#include "EdGraph/EdGraphSchema.h"

Syntax

class UEdGraphSchema : public UObject

Constructors

Name Description

Public function

UEdGraphSchema

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Virtual Const

bool

 

ArePinsCompatible

(
    const UEdGraphPin* PinA,
    const UEdGraphPin* PinB,
    const UClass* CallingContext,
    bool bIgnoreArray
)

Returns true if the types and directions of two pins are schema compatible.

Public function Virtual Const

void

 

BackwardCompatibilityNodeConversion

(
    UEdGraph* Graph,
    bool bOnlySafeChanges
)

Public function Virtual Const

void

 

BreakNodeLinks

(
    UEdGraphNode& TargetNode
)

Breaks all links from/to a single node

Public function Virtual Const

void

 

BreakPinLinks

(
    UEdGraphPin& TargetPin,
    bool bSendsNodeNotifcation
)

Breaks all links from/to a single pin

Public function Virtual Const

void

 

BreakSinglePinLink

(
    UEdGraphPin* SourcePin,
    UEdGraphPin* TargetPin
)

Breaks the link between two nodes.

Public function Virtual Const

const FPinCo...

 

CanCreateConnection

(
    const UEdGraphPin* A,
    const UEdGraphPin* B
)

Determine if a connection can be created between two pins.

Public function Virtual Const

FPinConnecti...

 

CanCreateNewNodes

(
    UEdGraphPin* InSourcePin
)

Check whether new nodes can be user-created (by dragging off pins etc.)

Public function Virtual Const

bool

 

CanDuplicateGraph

(
    UEdGraph* InSourceGraph
)

Can this graph type be duplicated?

Public function Virtual Const

bool

 

CanEncapuslateNode

(
    UEdGraphNode const& TestNode
)

Can TestNode be encapsulated into a child graph?

Public function Virtual Const

const FPinCo...

 

CanMergeNodes

(
    const UEdGraphNode* A,
    const UEdGraphNode* B
)

Determine if two nodes can be merged

Public function Static

bool

 

CategorizePinsByDirection

(
    PinType* PinA,
    PinType* PinB,
    PinType*& InputPin,
    PinType*& OutputPin
)

Categorizes two pins into an input pin and an output pin. Returns true if successful or false if they don't make sense as such (two inputs or two outputs)

Public function Virtual Const

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.

Public function Virtual Const

void

 

ConstructBasicPinTooltip

(
    UEdGraphPin const& Pin,
    FText const& PinDescription,
    FString& TooltipOut
)

Takes the PinDescription and tacks on any other data important to the schema (things like the pin's type, etc.).

Public function Virtual Const

FPinConnecti...

 

CopyPinLinks

(
    UEdGraphPin& CopyFromPin,
    UEdGraphPin& CopyToPin,
    bool bIsIntermediateCopy
)

Copies pin links from one pin to another without breaking the original links

Public function Virtual Const

bool

 

CreateAutomaticConversionNodeAndConnections

(
    UEdGraphPin* A,
    UEdGraphPin* B
)

Try to create an automatic cast or other conversion node node to facilitate a connection between two pins.

Public function Virtual Const

FConnectionD...

 

CreateConnectionDrawingPolicy

(
    int32 InBackLayerID,
    int32 InFrontLayerID,
    float InZoomFactor,
    const FSlateRect& InClippingRect,
    FSlateWindowElementList& InDrawEle...,
    UEdGraph* InGraphObj
)

Returns new FConnectionDrawingPolicy from this schema

Public function Virtual Const

void

 

CreateDefaultNodesForGraph

(
    UEdGraph& Graph
)

Populate new graph with any default nodes

Public function Virtual Const

UEdGraphNode...

 

CreateSubstituteNode

(
    UEdGraphNode* Node,
    const UEdGraph* Graph,
    FObjectInstancingGraph* Instan...,
    TSet< FName >& InOutExtraNames
)

Attempts to construct a substitute node that is unique within its graph.

Public function Virtual Const

bool

 

DoesDefaultValueMatch

(
    const UEdGraphPin& InPin,
    const FString& InValue
)

Returns if the pin's value matches the given value

Public function Virtual Const

bool

 

DoesDefaultValueMatchAutogenerated

(
    const UEdGraphPin& InPin
)

Returns if the pin's value matches what the true (autogenerated) default value for that pin would be

Public function Virtual Const

bool

 

DoesSupportPinWatching()

An easy way to check to see if the current graph system supports pin watching.

Public function Virtual Const

void

 

DroppedAssetsOnGraph

(
    const TArray< struct FAssetData >&...,
    const FVector2D& GraphPosition,
    UEdGraph* Graph
)

Called when asset(s) are dropped onto a graph background.

Public function Virtual Const

void

 

DroppedAssetsOnNode

(
    const TArray< struct FAssetData >&...,
    const FVector2D& GraphPosition,
    UEdGraphNode* Node
)

Called when asset(s) are dropped onto the specified node

Public function Virtual Const

void

 

DroppedAssetsOnPin

(
    const TArray< struct FAssetData >&...,
    const FVector2D& GraphPosition,
    UEdGraphPin* Pin
)

Called when asset(s) are dropped onto the specified pin

Public function Virtual Const

UEdGraphPin ...

 

DropPinOnNode

(
    UEdGraphNode* InTargetNode,
    const FName& InSourcePinName,
    const FEdGraphPinType& InSourcePin...,
    EEdGraphPinDirection InSourcePinDir...
)

Some schemas have nodes that support the user dynamically adding pins when dropping a connection on the node

Public function Virtual Const

UEdGraph ...

 

DuplicateGraph

(
    UEdGraph* GraphToDuplicate
)

Duplicate a given graph return the duplicate graph

Public function Virtual Const

bool

 

FadeNodeWhenDraggingOffPin

(
    const UEdGraphNode* Node,
    const UEdGraphPin* Pin
)

When dragging off a pin, we want to duck the alpha of some nodes

Public function Virtual Const

void

 

ForceVisualizationCacheClear()

Forces cached visualization data to refresh

Public function Virtual Const

void

 

GetAssetsGraphHoverMessage

(
    const TArray< FAssetData >& Assets,
    const UEdGraph* HoverGraph,
    FString& OutTooltipText,
    bool& OutOkIcon
)

Allows schema to generate a tooltip (icon & message) when the specified asset(s) are dragged over the specified graph

Public function Virtual Const

void

 

GetAssetsNodeHoverMessage

(
    const TArray< struct FAssetData >&...,
    const UEdGraphNode* HoverNode,
    FString& OutTooltipText,
    bool& OutOkIcon
)

Allows schema to generate a tooltip (icon & message) when the specified asset(s) are dragged over the specified node

Public function Virtual Const

void

 

GetAssetsPinHoverMessage

(
    const TArray< struct FAssetData >&...,
    const UEdGraphPin* HoverPin,
    FString& OutTooltipText,
    bool& OutOkIcon
)

Allows schema to generate a tooltip (icon & message) when the specified asset(s) are dragged over the specified pin

Public function Virtual Const

void

 

GetContextMenuActions

(
    UToolMenu* Menu,
    UGraphNodeContextMenuContext* ...
)

Gets actions that should be added to the right-click context menu for a node or pin

Public function Const

FName

 

GetContextMenuName()

Returns context menu name

Public function Static

FName

 

GetContextMenuName

(
    UClass* InClass
)

Returns context menu name for a given class

Public function Virtual Const

TSharedPtr< ...

 

GetCreateCommentAction()

Returns schema action to create comment from implemention

Public function Virtual Const

int32

 

GetCurrentVisualizationCacheID()

Returns the current cache title refresh ID that is appropriate for the passed node

Public function Virtual Const

void

 

GetGraphContextActions

(
    FGraphContextMenuBuilder& ContextM...
)

Get all actions that can be performed when right clicking on a graph or drag-releasing on a graph from a pin

Public function Virtual Const

void

 

GetGraphDisplayInformation

(
    const UEdGraph& Graph,
    FGraphDisplayInfo& DisplayInfo
)

Gets display information for a graph

Public function Virtual Const

EGraphType

 

GetGraphType

(
    const UEdGraph* TestEdGraph
)

Public function Virtual Const

int32

 

GetNodeSelectionCount

(
    const UEdGraph* Graph
)

Returns the currently selected graph node count

Public function Virtual Const

FName

 

GetParentContextMenuName()

Returns parent context menu name

Public function Virtual Const

FText

 

GetPinDisplayName

(
    const UEdGraphPin* Pin
)

Get the name to show in the editor

Public function Virtual Const

FLinearColor

 

GetPinTypeColor

(
    const FEdGraphPinType& PinType
)

Gets the draw color of a pin based on it's type.

Public function Virtual Const

void

 

HandleGraphBeingDeleted

(
    UEdGraph& GraphBeingRemoved
)

Handle a graph being removed by the user (potentially removing associated bound nodes, etc...)

Public function Virtual Const

bool

 

IsCacheVisualizationOutOfDate

(
    int32 InVisualizationCacheID
)

Checks if a CacheRefreshID is out of date

Public function Const

FString

 

IsCurrentPinDefaultValid

(
    const UEdGraphPin* Pin
)

Determine whether the current pin default values are valid

Public function Virtual Const

bool

 

IsDelegateCategory

(
    const FName Category
)

Is given string a delegate category name ?

Public function Virtual Const

bool

 

IsPinBeingWatched

(
    UEdGraphPin const* Pin
)

Checks to see if the specified pin is being watched by the graph's debug system.

Public function Virtual Const

FString

 

IsPinDefaultValid

(
    const UEdGraphPin* Pin,
    const FString& NewDefaultValue,
    UObject* NewDefaultObject,
    const FText& InNewDefaultText
)

Determine if the supplied pin default values would be valid.

Public function Virtual Const

bool

 

IsSelfPin

(
    const UEdGraphPin& Pin
)

Is self pin type?

Public function Virtual Const

bool

 

IsTitleBarPin

(
    const UEdGraphPin& Pin
)

Query if the passed in pin is a title bar pin.

Public function Virtual Const

bool

 

MarkBlueprintDirtyFromNewNode

(
    UBlueprint* InBlueprint,
    UEdGraphNode* InEdGraphNode
)

Returns true if the schema wants to overdrive the behaviour of dirtying the blueprint on new node creation.

Public function Virtual Const

FPinConnecti...

 

MovePinLinks

(
    UEdGraphPin& MoveFromPin,
    UEdGraphPin& MoveToPin,
    bool bIsIntermediateMove,
    bool bNotifyLinkedNodes
)

Break links on this pin and create links instead on MoveToPin

Public function Virtual Const

void

 

OnPinConnectionDoubleCicked

(
    UEdGraphPin* PinA,
    UEdGraphPin* PinB,
    const FVector2D& GraphPosition
)

Handles double-clicking on a pin<->pin connection

Public function Virtual Const

void

 

RecombinePin

(
    UEdGraphPin* Pin
)

Collapses a pin and its siblings back in to the original pin

Public function Virtual Const

void

 

ReconstructNode

(
    UEdGraphNode& TargetNode,
    bool bIsBatchRequest
)

Reconstructs a node

Public function Virtual Const

void

 

ResetPinToAutogeneratedDefaultValue

(
    UEdGraphPin* Pin,
    bool bCallModifyCallbacks
)

Resets a pin back to it's autogenerated default value, optionally calling the default value change callbacks

Public function Virtual Const

bool

 

SafeDeleteNodeFromGraph

(
    UEdGraph* Graph,
    UEdGraphNode* Node
)

Perform any logic necessary to safely remove this node from the graph.

Public function Static

bool

 

SetNodeMetaData

(
    UEdGraphNode* Node,
    FName const& KeyValue
)

Public function Virtual Const

bool

 

ShouldAlwaysPurgeOnModification()

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:

Public function Virtual Const

bool

 

ShouldHidePinDefaultValue

(
    UEdGraphPin* Pin
)

If we should disallow viewing and editing of the supplied pin

Public function Virtual Const

bool

 

ShouldShowAssetPickerForPin

(
    UEdGraphPin* Pin
)

Should the Pin in question display an asset picker

Public function Virtual Const

void

 

SplitPin

(
    UEdGraphPin* Pin,
    bool bNotify
)

Split a pin in to subelements

Public function Virtual Const

bool

 

SupportsDropPinOnNode

(
    UEdGraphNode* InTargetNode,
    const FEdGraphPinType& InSourcePin...,
    EEdGraphPinDirection InSourcePinDir...,
    FText& OutErrorMessage
)

Checks if the node supports dropping a pin on it

Public function Virtual Const

bool

 

TryCreateConnection

(
    UEdGraphPin* A,
    UEdGraphPin* B
)

Try to make a connection between two pins.

Public function Virtual Const

void

 

TrySetDefaultObject

(
    UEdGraphPin& Pin,
    UObject* NewDefaultObject,
    bool bMarkAsModified
)

Sets the object to the specified pin

Public function Virtual Const

void

 

TrySetDefaultText

(
    UEdGraphPin& InPin,
    const FText& InNewDefaultText,
    bool bMarkAsModified
)

Sets the text to the specified pin

Public function Virtual Const

void

 

TrySetDefaultValue

(
    UEdGraphPin& Pin,
    const FString& NewDefaultValue,
    bool bMarkAsModified
)

Sets the string to the specified pin; even if it is invalid it is still set.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss