docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface IUnit

    Represents a unit within a flow graph, defining its behavior, ports, connections, and visualization in the graph editor.

    Inherited Members
    IGraphElementWithDebugData.CreateDebugData()
    IGraphElement.HandleDependencies()
    IGraphElement.dependencyOrder
    IGraphElement.guid
    IGraphElement.Instantiate(GraphReference)
    IGraphElement.Uninstantiate(GraphReference)
    IGraphElement.deserializationDependencies
    INotifiedCollectionItem.BeforeAdd()
    INotifiedCollectionItem.AfterAdd()
    INotifiedCollectionItem.BeforeRemove()
    INotifiedCollectionItem.AfterRemove()
    IDisposable.Dispose()
    IPrewarmable.Prewarm()
    IAotStubbable.GetAotStubs(HashSet<object>)
    IAnalyticsIdentifiable.GetAnalyticsIdentifier()
    Namespace: Unity.VisualScripting
    Assembly: Unity.VisualScripting.Flow.dll
    Syntax
    public interface IUnit : IGraphElementWithDebugData, IGraphElement, IGraphItem, INotifiedCollectionItem, IDisposable, IPrewarmable, IAotStubbable, IIdentifiable, IAnalyticsIdentifiable

    Properties

    canDefine

    Gets a value indicating whether this unit can be defined.

    Declaration
    bool canDefine { get; }
    Property Value
    Type Description
    bool

    connections

    Gets all connections associated with this unit.

    Declaration
    IEnumerable<IUnitConnection> connections { get; }
    Property Value
    Type Description
    IEnumerable<IUnitConnection>

    controlInputs

    Gets the collection of control input ports for this unit.

    Declaration
    IUnitPortCollection<ControlInput> controlInputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<ControlInput>

    controlOutputs

    Gets the collection of control output ports for this unit.

    Declaration
    IUnitPortCollection<ControlOutput> controlOutputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<ControlOutput>

    defaultValues

    Gets a dictionary of default values used by the unit. The keys represent port names, and the values represent their corresponding defaults.

    Declaration
    Dictionary<string, object> defaultValues { get; }
    Property Value
    Type Description
    Dictionary<string, object>

    definitionException

    Gets the exception that occurred during the definition process, if the unit failed to define.

    Declaration
    Exception definitionException { get; }
    Property Value
    Type Description
    Exception

    failedToDefine

    Gets a value indicating whether this unit failed to define.

    Declaration
    bool failedToDefine { get; }
    Property Value
    Type Description
    bool

    graph

    Gets the flow graph to which this unit belongs.

    Declaration
    FlowGraph graph { get; }
    Property Value
    Type Description
    FlowGraph

    inputs

    Gets all input ports (both valid and invalid) for this unit.

    Declaration
    IEnumerable<IUnitInputPort> inputs { get; }
    Property Value
    Type Description
    IEnumerable<IUnitInputPort>

    invalidInputs

    Gets the collection of invalid input ports for this unit, which represent connections with unresolved compatibility issues.

    Declaration
    IUnitPortCollection<InvalidInput> invalidInputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<InvalidInput>

    invalidOutputs

    Gets the collection of invalid output ports for this unit, which represent connections with unresolved compatibility issues.

    Declaration
    IUnitPortCollection<InvalidOutput> invalidOutputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<InvalidOutput>

    invalidPorts

    Gets the invalid ports for this unit.

    Declaration
    IEnumerable<IUnitPort> invalidPorts { get; }
    Property Value
    Type Description
    IEnumerable<IUnitPort>

    isControlRoot

    Gets a value indicating whether this unit is the control root of its graph.

    Declaration
    bool isControlRoot { get; }
    Property Value
    Type Description
    bool

    isDefined

    Gets a value indicating whether this unit is currently defined.

    Declaration
    bool isDefined { get; }
    Property Value
    Type Description
    bool

    outputs

    Gets all output ports (both valid and invalid) for this unit.

    Declaration
    IEnumerable<IUnitOutputPort> outputs { get; }
    Property Value
    Type Description
    IEnumerable<IUnitOutputPort>

    ports

    Gets all ports (valid and invalid) for this unit.

    Declaration
    IEnumerable<IUnitPort> ports { get; }
    Property Value
    Type Description
    IEnumerable<IUnitPort>

    position

    Gets or sets the position of this unit in the graph editor interface.

    Declaration
    Vector2 position { get; set; }
    Property Value
    Type Description
    Vector2

    relations

    Gets the collection of port-to-port relationships (or connections) in this unit.

    Declaration
    IConnectionCollection<IUnitRelation, IUnitPort, IUnitPort> relations { get; }
    Property Value
    Type Description
    IConnectionCollection<IUnitRelation, IUnitPort, IUnitPort>

    validInputs

    Gets the valid input ports for this unit.

    Declaration
    IEnumerable<IUnitInputPort> validInputs { get; }
    Property Value
    Type Description
    IEnumerable<IUnitInputPort>

    validOutputs

    Gets the valid output ports for this unit.

    Declaration
    IEnumerable<IUnitOutputPort> validOutputs { get; }
    Property Value
    Type Description
    IEnumerable<IUnitOutputPort>

    validPorts

    Gets the valid ports for this unit.

    Declaration
    IEnumerable<IUnitPort> validPorts { get; }
    Property Value
    Type Description
    IEnumerable<IUnitPort>

    valueInputs

    Gets the collection of value input ports for this unit.

    Declaration
    IUnitPortCollection<ValueInput> valueInputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<ValueInput>

    valueOutputs

    Gets the collection of value output ports for this unit.

    Declaration
    IUnitPortCollection<ValueOutput> valueOutputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<ValueOutput>

    Methods

    Define()

    Defines this unit by setting up its ports, connections, and other requirements.

    Declaration
    void Define()

    EnsureDefined()

    Ensures that this unit is properly defined, invoking definition if necessary.

    Declaration
    void EnsureDefined()

    PortsChanged()

    Called to notify that ports in the unit have changed.

    Declaration
    void PortsChanged()

    RemoveUnconnectedInvalidPorts()

    Removes any unconnected invalid ports from this unit.

    Declaration
    void RemoveUnconnectedInvalidPorts()

    Events

    onPortsChanged

    Event triggered when ports in the unit have changed.

    Declaration
    event Action onPortsChanged
    Event Type
    Type Description
    Action

    Extension Methods

    Cloning.Clone(object, ICloner, bool)
    Cloning.Clone(object, ICloner, bool)
    Cloning.CloneViaFakeSerialization(object)
    Cloning.CloneViaFakeSerialization(object)
    ConversionUtility.ConvertTo(object, Type)
    ConversionUtility.ConvertTo(object, Type)
    ConversionUtility.ConvertTo<T>(object)
    ConversionUtility.ConvertTo<T>(object)
    ConversionUtility.IsConvertibleTo(object, Type, bool)
    ConversionUtility.IsConvertibleTo(object, Type, bool)
    ConversionUtility.IsConvertibleTo<T>(object, bool)
    ConversionUtility.IsConvertibleTo<T>(object, bool)
    Serialization.Serialize(object, bool)
    Serialization.Serialize(object, bool)
    TypeUtility.ToShortString(object, int)
    TypeUtility.ToShortString(object, int)
    UnityObjectUtility.IsUnityNull(object)
    UnityObjectUtility.IsUnityNull(object)
    UnityObjectUtility.ToSafeString(object)
    UnityObjectUtility.ToSafeString(object)
    XAnalyserProvider.Analyser(object, GraphReference)
    XAnalyserProvider.Analyser(object, IGraphContext)
    XAnalyserProvider.Analyser<TAnalyser>(object, GraphReference)
    XAnalyserProvider.Analyser<TAnalyser>(object, IGraphContext)
    XAnalyserProvider.Analysis(object, GraphReference)
    XAnalyserProvider.Analysis(object, IGraphContext)
    XAnalyserProvider.Analysis<TAnalysis>(object, GraphReference)
    XAnalyserProvider.Analysis<TAnalysis>(object, IGraphContext)
    XDescriptorProvider.Describe(object)
    XDescriptorProvider.Description(object)
    XDescriptorProvider.Description<TDescription>(object)
    XDescriptorProvider.Descriptor(object)
    XDescriptorProvider.Descriptor<TDescriptor>(object)
    XDescriptorProvider.HasDescriptor(object)
    GraphsExceptionUtility.GetException(IGraphElementWithDebugData, GraphPointer)
    GraphsExceptionUtility.HandleException(IGraphElementWithDebugData, GraphPointer, Exception)
    GraphsExceptionUtility.SetException(IGraphElementWithDebugData, GraphPointer, Exception)
    Cloning.CloneViaFakeSerialization<T>(T)
    Cloning.CloneViaFakeSerialization<T>(T)
    Cloning.Clone<T>(T, ICloner, bool)
    Cloning.Clone<T>(T, ICloner, bool)
    LinqUtility.Yield<T>(T)
    LinqUtility.Yield<T>(T)
    Serialization.CloneViaSerializationInto<TSource, TDestination>(TSource, ref TDestination, bool)
    Serialization.CloneViaSerializationInto<TSource, TDestination>(TSource, ref TDestination, bool)
    Serialization.CloneViaSerialization<T>(T, bool)
    Serialization.CloneViaSerialization<T>(T, bool)
    XUnit.CompatibleValueInput(IUnit, Type)
    XUnit.CompatibleValueOutput(IUnit, Type)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)