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.Instantiate(GraphReference)
    IGraphElement.Uninstantiate(GraphReference)
    IGraphElement.dependencyOrder
    IGraphElement.guid
    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)
    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)

    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Properties
      • canDefine
      • connections
      • controlInputs
      • controlOutputs
      • defaultValues
      • definitionException
      • failedToDefine
      • graph
      • inputs
      • invalidInputs
      • invalidOutputs
      • invalidPorts
      • isControlRoot
      • isDefined
      • outputs
      • ports
      • position
      • relations
      • validInputs
      • validOutputs
      • validPorts
      • valueInputs
      • valueOutputs
    • Methods
      • Define()
      • EnsureDefined()
      • PortsChanged()
      • RemoveUnconnectedInvalidPorts()
    • Events
      • onPortsChanged
    • Extension Methods
    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)