UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UEdGraphPin Class Reference

#include <EdGraphPin.h>

Public Member Functions

ENGINE_API void MakeLinkTo (UEdGraphPin *ToPin, bool bAlwaysMarkDirty=true)
 
ENGINE_API void BreakLinkTo (UEdGraphPin *ToPin, bool bAlwaysMarkDirty=true)
 
ENGINE_API void BreakAllPinLinks (bool bNotifyNodes=false, bool bAlwaysMarkDirty=true)
 
ENGINE_API void MovePersistentDataFromOldPin (UEdGraphPin &SourcePin)
 
ENGINE_API void CopyPersistentDataFromOldPin (const UEdGraphPin &SourcePin)
 
ENGINE_API void AssignByRefPassThroughConnection (UEdGraphPin *InTargetPin)
 
class UEdGraphNodeGetOwningNode () const
 
class UEdGraphNodeGetOwningNodeUnchecked () const
 
ENGINE_API const class UEdGraphSchemaGetSchema () const
 
ENGINE_API bool HasAnyConnections () const
 
void SafeSetHidden (bool bIsHidden)
 
ENGINE_API FString GetDefaultAsString () const
 
ENGINE_API bool IsDefaultAsStringEmpty () const
 
ENGINE_API FText GetDefaultAsText () const
 
ENGINE_API bool DoesDefaultValueMatchAutogenerated () const
 
const FString GetLinkInfoString (const FString &InFunctionName, const FString &InInfoData, const UEdGraphPin *InToPin) const
 
void ResetDefaultValue ()
 
void ResetToDefaults ()
 
void AddStructReferencedObjects (class FReferenceCollector &Collector)
 
ENGINE_API bool Modify (bool bAlwaysMarkDirty=true)
 
ENGINE_API void SetOwningNode (UEdGraphNode *NewOwningNode)
 
ENGINE_API void MarkAsGarbage ()
 
bool WasTrashed () const
 
ENGINE_API bool ExportTextItem (FString &ValueStr, int32 PortFlags) const
 
ENGINE_API bool ImportTextItem (const TCHAR *&Buffer, int32 PortFlags, class UObject *Parent, FOutputDevice *ErrorText)
 
const FString GetName () const
 
const FName GetFName () const
 
UEdGraphNodeGetOuter () const
 
bool IsPendingKill () const
 
ENGINE_API FEdGraphTerminalType GetPrimaryTerminalType () const
 
 ~UEdGraphPin ()
 

Static Public Member Functions

static ENGINE_API UEdGraphPinCreatePin (UEdGraphNode *InOwningNode)
 
static EEdGraphPinDirection GetComplementaryDirection (EEdGraphPinDirection InDirection)
 
static void SerializeAsOwningNode (FArchive &Ar, TArray< UEdGraphPin * > &ArrayRef)
 
static ENGINE_API UEdGraphPinCreatePinFromDeprecatedPin (class UEdGraphPin_Deprecated *DeprecatedPin)
 
static ENGINE_API UEdGraphPinFindPinCreatedFromDeprecatedPin (class UEdGraphPin_Deprecated *DeprecatedPin)
 
static ENGINE_API void ShutdownVerification ()
 
static ENGINE_API void Purge ()
 
static ENGINE_API void ResolveAllPinReferences ()
 
static ENGINE_API bool AreOrphanPinsEnabled ()
 
static ENGINE_API void SanitizePinsPostUndoRedo ()
 

Public Attributes

FGuid PinId
 
FName PinName
 
int32 SourceIndex
 
TEnumAsByte< enum EEdGraphPinDirectionDirection
 
uint8 bWasTrashed:1
 
FString PinToolTip
 
FEdGraphPinType PinType
 
FString DefaultValue
 
FString AutogeneratedDefaultValue
 
TObjectPtr< class UObjectDefaultObject
 
FText DefaultTextValue
 
TArray< UEdGraphPin * > LinkedTo
 
TArray< UEdGraphPin * > SubPins
 
UEdGraphPinParentPin
 
UEdGraphPinReferencePassThroughConnection
 

Friends

struct FEdGraphPinReference
 

Constructor & Destructor Documentation

◆ ~UEdGraphPin()

UEdGraphPin::~UEdGraphPin ( )

Destructor

Member Function Documentation

◆ AddStructReferencedObjects()

void UEdGraphPin::AddStructReferencedObjects ( class FReferenceCollector Collector)

Provides a reference collector with all object references this pin has. Should only be called by the owning node.

◆ AreOrphanPinsEnabled()

bool UEdGraphPin::AreOrphanPinsEnabled ( )
static

◆ AssignByRefPassThroughConnection()

void UEdGraphPin::AssignByRefPassThroughConnection ( UEdGraphPin InTargetPin)

Connects the two pins as by-ref pass-through, allowing the input to auto-forward to the output pin

◆ BreakAllPinLinks()

void UEdGraphPin::BreakAllPinLinks ( bool  bNotifyNodes = false,
bool  bAlwaysMarkDirty = true 
)

Break all links from this pin

◆ BreakLinkTo()

void UEdGraphPin::BreakLinkTo ( UEdGraphPin ToPin,
bool  bAlwaysMarkDirty = true 
)

Break a link to the specified pin (if present)

◆ CopyPersistentDataFromOldPin()

void UEdGraphPin::CopyPersistentDataFromOldPin ( const UEdGraphPin SourcePin)

Copies the persistent data (across a node refresh) from the SourcePin.

Parameters
SourcePinSource pin.

◆ CreatePin()

UEdGraphPin * UEdGraphPin::CreatePin ( UEdGraphNode InOwningNode)
static

Creates a new pin. Should be called from the OwningNode so it can be immediately added to the Pins array.

◆ CreatePinFromDeprecatedPin()

UEdGraphPin * UEdGraphPin::CreatePinFromDeprecatedPin ( class UEdGraphPin_Deprecated DeprecatedPin)
static

Transition support for UEdGraphPins

◆ DoesDefaultValueMatchAutogenerated()

bool UEdGraphPin::DoesDefaultValueMatchAutogenerated ( ) const

Returns true if the current default value matches the autogenerated default value

◆ ExportTextItem()

bool UEdGraphPin::ExportTextItem ( FString &  ValueStr,
int32  PortFlags 
) const

ExportText/ImportText

◆ FindPinCreatedFromDeprecatedPin()

UEdGraphPin * UEdGraphPin::FindPinCreatedFromDeprecatedPin ( class UEdGraphPin_Deprecated DeprecatedPin)
static

◆ GetComplementaryDirection()

static EEdGraphPinDirection UEdGraphPin::GetComplementaryDirection ( EEdGraphPinDirection  InDirection)
inlinestatic

Direction flipping utility; returns the complementary direction

◆ GetDefaultAsString()

FString UEdGraphPin::GetDefaultAsString ( ) const

Returns an internal string representation of the string/object/text default value, that is compatible with AutogeneratedDefaultValue and ImportText

Note
Do not directly compare this value with another to test for a default value. Instead use DoesDefaultValueMatch or DoesDefaultValueMatchAutogenerated on the schema.

◆ GetDefaultAsText()

FText UEdGraphPin::GetDefaultAsText ( ) const

Returns a human readable FText representation of the string/object/text default value

◆ GetFName()

const FName UEdGraphPin::GetFName ( ) const
inline

◆ GetLinkInfoString()

const FString UEdGraphPin::GetLinkInfoString ( const FString &  InFunctionName,
const FString &  InInfoData,
const UEdGraphPin InToPin 
) const

Generate a string detailing the link this pin has to another pin.

@Param InFunctionName String with function name requesting the info @Param InInfoData String detailing the info (EG. Is Not linked to) @Param InToPin The relevant pin

◆ GetName()

const FString UEdGraphPin::GetName ( ) const
inline

◆ GetOuter()

UEdGraphNode * UEdGraphPin::GetOuter ( ) const
inline

◆ GetOwningNode()

class UEdGraphNode * UEdGraphPin::GetOwningNode ( ) const
inline

Returns the node that owns this pin

◆ GetOwningNodeUnchecked()

class UEdGraphNode * UEdGraphPin::GetOwningNodeUnchecked ( ) const
inline

◆ GetPrimaryTerminalType()

FEdGraphTerminalType UEdGraphPin::GetPrimaryTerminalType ( ) const

◆ GetSchema()

const class UEdGraphSchema * UEdGraphPin::GetSchema ( ) const

Shorthand way to access the schema of the graph that owns the node that owns this pin

◆ HasAnyConnections()

bool UEdGraphPin::HasAnyConnections ( ) const

Returns true if there are entries in the pin's LinkedTo array, or if it has SubPins, one of their SubPins arrays:

◆ ImportTextItem()

bool UEdGraphPin::ImportTextItem ( const TCHAR *&  Buffer,
int32  PortFlags,
class UObject Parent,
FOutputDevice ErrorText 
)

◆ IsDefaultAsStringEmpty()

bool UEdGraphPin::IsDefaultAsStringEmpty ( ) const

Returns true if GetDefaultAsString will return an empty string.

◆ IsPendingKill()

bool UEdGraphPin::IsPendingKill ( ) const
inline

◆ MakeLinkTo()

void UEdGraphPin::MakeLinkTo ( UEdGraphPin ToPin,
bool  bAlwaysMarkDirty = true 
)

Create a link. Note, this does not check that schema allows it, and will not break any existing connections

◆ MarkAsGarbage()

void UEdGraphPin::MarkAsGarbage ( )

Marks the pin as 'trashed'. Does not remove the pin from the Owning Node's Pins list

◆ Modify()

bool UEdGraphPin::Modify ( bool  bAlwaysMarkDirty = true)

Marks the owning node as modified.

◆ MovePersistentDataFromOldPin()

void UEdGraphPin::MovePersistentDataFromOldPin ( UEdGraphPin SourcePin)

Moves the persistent data (across a node refresh) from the SourcePin.

Parameters
SourcePinSource pin.

◆ Purge()

void UEdGraphPin::Purge ( )
static

◆ ResetDefaultValue()

void UEdGraphPin::ResetDefaultValue ( )
inline

Reset default values to empty. This should not be called when AutogeneratedDefaultValue needs to be respected!

◆ ResetToDefaults()

void UEdGraphPin::ResetToDefaults ( )
inline

Resets node to default constructor state

◆ ResolveAllPinReferences()

void UEdGraphPin::ResolveAllPinReferences ( )
static

This needs to be called if you want to use pin data within PostEditUndo

◆ SafeSetHidden()

void UEdGraphPin::SafeSetHidden ( bool  bIsHidden)
inline

Helper to safely set a pin's bHidden property only if it has no sub-pins that are influencing it to be hidden

◆ SanitizePinsPostUndoRedo()

void UEdGraphPin::SanitizePinsPostUndoRedo ( )
static

◆ SerializeAsOwningNode()

void UEdGraphPin::SerializeAsOwningNode ( FArchive Ar,
TArray< UEdGraphPin * > &  ArrayRef 
)
static

Serializes an array of pins as the owner. Only the OwningNode should call this function.

◆ SetOwningNode()

void UEdGraphPin::SetOwningNode ( UEdGraphNode NewOwningNode)

Changes the owning node. This will remove the pin from the old owning node's pin list and add itself to the new node's pin list.

◆ ShutdownVerification()

void UEdGraphPin::ShutdownVerification ( )
static

Verification that all pins have been destroyed after shutting down

◆ WasTrashed()

bool UEdGraphPin::WasTrashed ( ) const
inline

Returns true if InvalidateAndTrash was ever called on this pin.

Friends And Related Symbol Documentation

◆ FEdGraphPinReference

Member Data Documentation

◆ AutogeneratedDefaultValue

FString UEdGraphPin::AutogeneratedDefaultValue

Initial default value (the autogenerated value, to identify if the user has modified the value), stored as a string

◆ bWasTrashed

uint8 UEdGraphPin::bWasTrashed

True when InvalidateAndTrash was called. This pin is intended to be discarded and destroyed.

◆ DefaultObject

TObjectPtr<class UObject> UEdGraphPin::DefaultObject

If the default value for this pin should be an object, we store a pointer to it

◆ DefaultTextValue

FText UEdGraphPin::DefaultTextValue

If the default value for this pin should be an FText, it is stored here.

◆ DefaultValue

FString UEdGraphPin::DefaultValue

Default value for this pin (used if the pin has no connections), stored as a string

◆ Direction

TEnumAsByte<enum EEdGraphPinDirection> UEdGraphPin::Direction

Direction of flow of this pin (input or output)

◆ LinkedTo

TArray<UEdGraphPin*> UEdGraphPin::LinkedTo

Set of pins that we are linked to

◆ ParentPin

UEdGraphPin* UEdGraphPin::ParentPin

The pin that was split and generated this pin

◆ PinId

FGuid UEdGraphPin::PinId

The pin's unique ID.

◆ PinName

FName UEdGraphPin::PinName

Name of this pin.

◆ PinToolTip

FString UEdGraphPin::PinToolTip

Used as the display name if set. The tool-tip describing this pin's purpose

◆ PinType

FEdGraphPinType UEdGraphPin::PinType

The type of information carried on this pin

◆ ReferencePassThroughConnection

UEdGraphPin* UEdGraphPin::ReferencePassThroughConnection

Pin that this pin uses for passing through reference connection

◆ SourceIndex

int32 UEdGraphPin::SourceIndex

Index of the pin in the source data structure represented by the graph, INDEX_NONE if not used

◆ SubPins

TArray<UEdGraphPin*> UEdGraphPin::SubPins

The pins created when a pin is split and hidden


The documentation for this class was generated from the following files: