Version: 2021.3
  • C#
Experimental: this API is experimental and might be changed or removed in the future.


class in UnityEditor.Experimental.GraphView


Inherits from:Experimental.GraphView.GraphElement

Implements interfaces:ICollectibleElement

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Main GraphView node class.


expandedIs node expanded.
extensionContainerEmpty container used to display custom elements. After adding elements, call RefreshExpandedState in order to toggle this container visibility.
inputContainerInput container used for input ports.
mainContainerMain container that includes all other containers.
outputContainerOutputs container, used for output ports.
titleNode's title element.
titleButtonContainerTitle bar button container. Contains the top right buttons.
titleContainerTitle bar container.
topContainerEntire top area containing input and output containers.


NodeNode's constructor.

Public Methods

BuildContextualMenuAdd menu items to the node contextual menu.
CollectElementsRetrieves the set of edges that match a specified condition. The tested edges are connected to this node.
InstantiatePortCreate a new port specific to this node.
RefreshExpandedStateAfter adding custom elements to the extensionContainer, call this method in order for them to become visible.
RefreshPortsRefresh the layout of the ports.
SetPositionSet node position.

Protected Methods

OnPortRemovedCalled when port is remove.
ToggleCollapseToggle node's collapse state.
UseDefaultStylingApplies the default styling of Node. This must be explicitly called by Node subclasses that use their own uxml files.

Inherited Members

Static Properties

disabledUssClassName USS class name of local disabled elements.


canGrabFocus Return true if the element can be focused.
delegatesFocus Whether the element should delegate the focus to its children.
focusable True if the element can be focused.
focusController Return the focus controller for this element.
tabIndex An integer used to sort focusables in the focus ring. Must be greater than or equal to zero.
capabilitiesThe GraphElement's capabilities.
elementTypeColorThe color used for the MiniMap view.
layerThe GraphElement's layer in the graph.
selectedTrue if the GraphElement is currently selected.
showInMiniMapWhether the element is shown in the minimap.
titleThe GraphElement's title.
childCount Number of child elements in this object's contentContainer.
contentContainer Child elements are added to it, usually this is the same as the element itself.
contentRect The rectangle of the content area of the element, in the local space of the element.
customStyle The custom style properties accessor of a VisualElement (Read Only).
enabledInHierarchy Returns true if the VisualElement is enabled in its own hierarchy.
enabledSelf Returns true if the VisualElement is enabled locally.
experimental Returns the UIElements experimental interfaces.
generateVisualContent Called when the VisualElement visual contents need to be (re)generated.
hierarchy Access to this element physical hierarchy
layout The position and size of the VisualElement relative to its parent, as computed by the layout system.
localBound AABB after applying the transform to the rect, but before applying the layout translation.
name The name of this VisualElement.
paddingRect The rectangle of the padding area of the element, in the local space of the element.
panel The panel onto which this VisualElement is attached.
parent The parent of this VisualElement.
pickingMode Determines if this element can be pick during mouseEvents or IPanel.Pick queries.
resolvedStyle The final computed style values on a VisualElement (Read Only).
schedule Retrieves this VisualElement's IVisualElementScheduler
style Sets the style values on a VisualElement.
styleSheets Returns a VisualElementStyleSheetSet that manipulates style sheets attached to this element.
this[int] Retrieves the child element at a specific index.
tooltip Text to display inside an information box after the user hovers the element for a small amount of time. This is only supported in the Editor UI.
transform Returns a transform object for this VisualElement. ITransform
usageHints A combination of hint values that specify high-level intended usage patterns for the VisualElement. This property can only be set when the VisualElement is not yet part of a Panel. Once part of a Panel, this property becomes effectively read-only, and attempts to change it will throw an exception. The specification of proper UsageHints drives the system to make better decisions on how to process or accelerate certain operations based on the anticipated usage pattern. Note that those hints do not affect behavioral or visual results, but only affect the overall performance of the panel and the elements within. It's advised to always consider specifying the proper UsageHints, but keep in mind that some UsageHints might be internally ignored under certain conditions (e.g. due to hardware limitations on the target platform).
userData This property can be used to associate application-specific user data with this VisualElement.
viewDataKey Used for view data persistence (ie. tree expanded states, scroll position, zoom level).
visible Indicates whether or not this element should be rendered.
visualTreeAssetSource Stores the asset reference, if the generated element is cloned from a VisualTreeAsset.
worldBound AABB after applying the world transform to rect.
worldTransform Returns a matrix that cumulates the following operations (in order): -Local Scaling -Local Rotation -Local Translation -Layout Translation -Parent worldTransform (recursive definition - consider identity when there is no parent)

Public Methods

HandleEvent Handle an event, most often by executing the callbacks associated with the event.
HasBubbleUpHandlers Return true if event handlers for the event propagation BubbleUp phase have been attached on this object.
HasTrickleDownHandlers Returns true if event handlers, for the event propagation TrickleDown phase, are attached to this object.
RegisterCallback Adds an event handler to the instance. If the event handler has already been registered for the same phase (either TrickleDown or BubbleUp) then this method has no effect.
SendEvent Sends an event to the event handler.
UnregisterCallback Remove callback from the instance.
Blur Tell the element to release the focus.
Focus Attempt to give the focus to this element.
GetGlobalCenterGet the GraphElement's center point.
GetPositionGet the GraphElement position.
HitTestSee if point is over the GraphElement.
IsAscendableChecks if the GraphElement is automatically brought to front when selected.
IsCopiableChecks whether the GraphElement is copiable.
IsDroppableThe GraphElement is drag&droppable.
IsGroupableChecks whether the GraphElement is groupable.
IsMovableThe GraphElement is movable.
IsRenamableThe GraphElement is renamable.
IsResizableThe GraphElement is resizable.
IsSelectableThe GraphElement is selectable.
IsSelectedThe GraphElement is currently selected in specific container.
IsSnappableChecks whether the GraphElement is snappable.
IsStackableChecks whether the GraphElement is stackable.
OnSelectedCalled when the GraphElement is selected.
OnUnselectedCalled when the GraphElement is unselected.
ResetLayerReset the GraphElement to its original layer.
SelectSelect the GraphElement.
UnselectDeselect the GraphElement.
Add Add an element to this element's contentContainer
AddToClassList Adds a class to the class list of the element in order to assign styles from USS.
BringToFront Brings this element to the end of its parent children list. The element will be visually in front of any overlapping sibling elements.
Children Returns the elements from its contentContainer.
ClassListContains Searches for a class in the class list of this element.
Clear Remove all child elements from this element's contentContainer
ClearClassList Removes all classes from the class list of this element. AddToClassList
Contains Checks if this element is an ancestor of the specified child element.
ContainsPoint Checks if the specified point intersects with this VisualElement's layout.
ElementAt Retrieves the child element at a specific index.
EnableInClassList Enables or disables the class with the given name.
FindAncestorUserData Searches up the hierarchy of this VisualElement and retrieves stored userData, if any is found.
FindCommonAncestor Finds the lowest common ancestor between two VisualElements inside the VisualTree hierarchy.
GetClasses Retrieve the classes for this element.
GetFirstAncestorOfType Walks up the hierarchy, starting from this element's parent, and returns the first VisualElement of this type
GetFirstOfType Walks up the hierarchy, starting from this element, and returns the first VisualElement of this type
IndexOf Retrieves the child index of the specified VisualElement.
Insert Insert an element into this element's contentContainer
MarkDirtyRepaint Triggers a repaint of the VisualElement on the next frame.
PlaceBehind Places this element right before the sibling element in their parent children list. If the element and the sibling position overlap, the element will be visually behind of its sibling.
PlaceInFront Places this element right after the sibling element in their parent children list. If the element and the sibling position overlap, the element will be visually in front of its sibling.
Remove Removes this child from the hierarchy
RemoveAt Remove the child element located at this position from this element's contentContainer
RemoveFromClassList Removes a class from the class list of the element.
RemoveFromHierarchy Removes this element from its parent hierarchy.
SendEvent Sends an event to the event handler.
SendToBack Sends this element to the beginning of its parent children list. The element will be visually behind any overlapping sibling elements.
SetEnabled Changes the VisualElement enabled state. A disabled VisualElement does not receive most events.
Sort Reorders child elements from this VisualElement contentContainer.
ToggleInClassList Toggles between adding and removing the given class name from the class list.

Protected Methods

ExecuteDefaultAction Executes logic after the callbacks registered on the event target have executed, unless the event has been marked to prevent its default behaviour. EventBase{T}.PreventDefault.
ExecuteDefaultActionAtTarget Executes logic after the callbacks registered on the event target have executed, unless the event is marked to prevent its default behaviour. EventBase{T}.PreventDefault.
OnCustomStyleResolvedCalled when the custom style properties are resolved.