docs.unity3d.com
    Show / Hide Table of Contents

    Class Unit

    Inheritance
    Object
    GraphElement<FlowGraph>
    Unit
    Absolute<TInput>
    Add<T>
    AddDictionaryItem
    AddListItem
    And
    Angle<T>
    ApproximatelyEqual
    BinaryComparisonUnit
    Break
    Cache
    ClearDictionary
    ClearList
    Comparison
    Cooldown
    CountItems
    CreateDictionary
    CreateStruct
    CrossProduct<T>
    DictionaryContainsKey
    Distance<T>
    Divide<T>
    DotProduct<T>
    EqualityComparison
    EventUnit<TArgs>
    ExclusiveOr
    Expose
    FirstItem
    GetDictionaryItem
    GetGraph<TGraph, TGraphAsset, TMachine>
    GetGraphs<TGraph, TGraphAsset, TMachine>
    GetListItem
    GraphInput
    GraphOutput
    HasGraph<TGraph, TMacro, TMachine>
    If
    InsertListItem
    LastItem
    Lerp<T>
    ListContainsItem
    Literal
    LoopUnit
    MemberUnit
    MissingType
    Modulo<T>
    MoveTowards<T>
    MultiInputUnit<T>
    Multiply<T>
    Negate
    NesterUnit<TGraph, TMacro>
    Normalize<T>
    NotApproximatelyEqual
    Null
    NullCheck
    NullCoalesce
    NumericComparison
    Once
    Or
    PerSecond<T>
    Project<T>
    RemoveDictionaryItem
    RemoveListItem
    RemoveListItemAt
    Round<TInput, TOutput>
    SaveVariables
    ScalarExponentiate
    ScalarRoot
    SelectOnEnum
    SelectOnFlow
    SelectUnit
    SelectUnit<T>
    Sequence
    SetDictionaryItem
    SetGraph<TGraph, TMacro, TMachine>
    SetListItem
    Subtract<T>
    SwitchOnEnum
    SwitchUnit<T>
    This
    Throw
    Timer
    ToggleFlow
    ToggleValue
    TriggerCustomEvent
    TriggerStateTransition
    TryCatch
    UnifiedVariableUnit
    VariableUnit
    WaitForFlow
    WaitUnit
    Inherited Members
    GraphElement<FlowGraph>.guid
    GraphElement<FlowGraph>.BeforeAdd()
    GraphElement<FlowGraph>.AfterRemove()
    GraphElement<FlowGraph>.Dispose()
    GraphElement<FlowGraph>.InstantiateNest()
    GraphElement<FlowGraph>.UninstantiateNest()
    GraphElement<FlowGraph>.dependencyOrder
    GraphElement<FlowGraph>.HandleDependencies()
    GraphElement<FlowGraph>.graph
    GraphElement<FlowGraph>.IGraphElement.graph
    GraphElement<FlowGraph>.IGraphItem.graph
    GraphElement<FlowGraph>.deserializationDependencies
    GraphElement<FlowGraph>.GetAotStubs(HashSet<Object>)
    GraphElement<FlowGraph>.Prewarm()
    GraphElement<FlowGraph>.CopyFrom(GraphElement<FlowGraph>)
    GraphElement<FlowGraph>.ToString()
    Namespace: Unity.VisualScripting
    Syntax
    [SerializationVersion("A", new Type[]{})]
    public abstract class Unit : GraphElement<FlowGraph>, IUnit, IGraphElementWithDebugData, IGraphElement, IGraphItem, INotifiedCollectionItem, IDisposable, IPrewarmable, IAotStubbable, IIdentifiable, IAnalyticsIdentifiable

    Constructors

    Unit()

    Declaration
    protected Unit()

    Properties

    canDefine

    Declaration
    [DoNotSerialize]
    public virtual bool canDefine { get; }
    Property Value
    Type Description
    Boolean
    Implements
    IUnit.canDefine

    connections

    Declaration
    [DoNotSerialize]
    public IEnumerable<IUnitConnection> connections { get; }
    Property Value
    Type Description
    IEnumerable<IUnitConnection>
    Implements
    IUnit.connections

    controlInputs

    Declaration
    [DoNotSerialize]
    public IUnitPortCollection<ControlInput> controlInputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<ControlInput>
    Implements
    IUnit.controlInputs

    controlOutputs

    Declaration
    [DoNotSerialize]
    public IUnitPortCollection<ControlOutput> controlOutputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<ControlOutput>
    Implements
    IUnit.controlOutputs

    defaultValues

    Declaration
    [Serialize]
    public Dictionary<string, object> defaultValues { get; }
    Property Value
    Type Description
    Dictionary<String, Object>
    Implements
    IUnit.defaultValues

    definitionException

    Declaration
    [DoNotSerialize]
    public Exception definitionException { get; protected set; }
    Property Value
    Type Description
    Exception
    Implements
    IUnit.definitionException

    failedToDefine

    Declaration
    [DoNotSerialize]
    public bool failedToDefine { get; }
    Property Value
    Type Description
    Boolean
    Implements
    IUnit.failedToDefine

    inputs

    Declaration
    [DoNotSerialize]
    public IEnumerable<IUnitInputPort> inputs { get; }
    Property Value
    Type Description
    IEnumerable<IUnitInputPort>
    Implements
    IUnit.inputs

    invalidInputs

    Declaration
    [DoNotSerialize]
    public IUnitPortCollection<InvalidInput> invalidInputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<InvalidInput>
    Implements
    IUnit.invalidInputs

    invalidOutputs

    Declaration
    [DoNotSerialize]
    public IUnitPortCollection<InvalidOutput> invalidOutputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<InvalidOutput>
    Implements
    IUnit.invalidOutputs

    invalidPorts

    Declaration
    [DoNotSerialize]
    public IEnumerable<IUnitPort> invalidPorts { get; }
    Property Value
    Type Description
    IEnumerable<IUnitPort>
    Implements
    IUnit.invalidPorts

    isControlRoot

    Declaration
    [DoNotSerialize]
    public virtual bool isControlRoot { get; protected set; }
    Property Value
    Type Description
    Boolean
    Implements
    IUnit.isControlRoot

    isDefined

    Declaration
    [DoNotSerialize]
    public bool isDefined { get; }
    Property Value
    Type Description
    Boolean
    Implements
    IUnit.isDefined

    outputs

    Declaration
    [DoNotSerialize]
    public IEnumerable<IUnitOutputPort> outputs { get; }
    Property Value
    Type Description
    IEnumerable<IUnitOutputPort>
    Implements
    IUnit.outputs

    ports

    Declaration
    [DoNotSerialize]
    public IEnumerable<IUnitPort> ports { get; }
    Property Value
    Type Description
    IEnumerable<IUnitPort>
    Implements
    IUnit.ports

    position

    Declaration
    [Serialize]
    public Vector2 position { get; set; }
    Property Value
    Type Description
    Vector2
    Implements
    IUnit.position

    relations

    Declaration
    [DoNotSerialize]
    public IConnectionCollection<IUnitRelation, IUnitPort, IUnitPort> relations { get; }
    Property Value
    Type Description
    IConnectionCollection<IUnitRelation, IUnitPort, IUnitPort>
    Implements
    IUnit.relations

    validInputs

    Declaration
    [DoNotSerialize]
    public IEnumerable<IUnitInputPort> validInputs { get; }
    Property Value
    Type Description
    IEnumerable<IUnitInputPort>
    Implements
    IUnit.validInputs

    validOutputs

    Declaration
    [DoNotSerialize]
    public IEnumerable<IUnitOutputPort> validOutputs { get; }
    Property Value
    Type Description
    IEnumerable<IUnitOutputPort>
    Implements
    IUnit.validOutputs

    validPorts

    Declaration
    [DoNotSerialize]
    public IEnumerable<IUnitPort> validPorts { get; }
    Property Value
    Type Description
    IEnumerable<IUnitPort>
    Implements
    IUnit.validPorts

    valueInputs

    Declaration
    [DoNotSerialize]
    public IUnitPortCollection<ValueInput> valueInputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<ValueInput>
    Implements
    IUnit.valueInputs

    valueOutputs

    Declaration
    [DoNotSerialize]
    public IUnitPortCollection<ValueOutput> valueOutputs { get; }
    Property Value
    Type Description
    IUnitPortCollection<ValueOutput>
    Implements
    IUnit.valueOutputs

    Methods

    AfterAdd()

    Declaration
    public override void AfterAdd()
    Overrides
    Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.AfterAdd()
    Implements
    INotifiedCollectionItem.AfterAdd()

    AfterDefine()

    Declaration
    protected virtual void AfterDefine()

    Assignment(ControlInput, ValueOutput)

    Triggering the source may assign the destination value on the flow.

    Declaration
    protected void Assignment(ControlInput source, ValueOutput destination)
    Parameters
    Type Name Description
    ControlInput source
    ValueOutput destination

    BeforeRemove()

    Declaration
    public override void BeforeRemove()
    Overrides
    Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.BeforeRemove()
    Implements
    INotifiedCollectionItem.BeforeRemove()

    BeforeUndefine()

    Declaration
    protected virtual void BeforeUndefine()

    ControlInput(String, Func<Flow, ControlOutput>)

    Declaration
    protected ControlInput ControlInput(string key, Func<Flow, ControlOutput> action)
    Parameters
    Type Name Description
    String key
    Func<Flow, ControlOutput> action
    Returns
    Type Description
    ControlInput

    ControlInputCoroutine(String, Func<Flow, IEnumerator>)

    Declaration
    protected ControlInput ControlInputCoroutine(string key, Func<Flow, IEnumerator> coroutineAction)
    Parameters
    Type Name Description
    String key
    Func<Flow, IEnumerator> coroutineAction
    Returns
    Type Description
    ControlInput

    ControlInputCoroutine(String, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)

    Declaration
    protected ControlInput ControlInputCoroutine(string key, Func<Flow, ControlOutput> action, Func<Flow, IEnumerator> coroutineAction)
    Parameters
    Type Name Description
    String key
    Func<Flow, ControlOutput> action
    Func<Flow, IEnumerator> coroutineAction
    Returns
    Type Description
    ControlInput

    ControlOutput(String)

    Declaration
    protected ControlOutput ControlOutput(string key)
    Parameters
    Type Name Description
    String key
    Returns
    Type Description
    ControlOutput

    CopyFrom(Unit)

    Declaration
    protected void CopyFrom(Unit source)
    Parameters
    Type Name Description
    Unit source

    CreateDebugData()

    Declaration
    public virtual IGraphElementDebugData CreateDebugData()
    Returns
    Type Description
    IGraphElementDebugData
    Implements
    IGraphElementWithDebugData.CreateDebugData()

    Define()

    Declaration
    public void Define()
    Implements
    IUnit.Define()

    Definition()

    Declaration
    protected abstract void Definition()

    Disconnect()

    Declaration
    public void Disconnect()

    EnsureDefined()

    Declaration
    public void EnsureDefined()
    Implements
    IUnit.EnsureDefined()

    EnsureUniqueInput(String)

    Declaration
    protected void EnsureUniqueInput(string key)
    Parameters
    Type Name Description
    String key

    EnsureUniqueOutput(String)

    Declaration
    protected void EnsureUniqueOutput(string key)
    Parameters
    Type Name Description
    String key

    GetAnalyticsIdentifier()

    Declaration
    public override AnalyticsIdentifier GetAnalyticsIdentifier()
    Returns
    Type Description
    AnalyticsIdentifier
    Overrides
    Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.GetAnalyticsIdentifier()
    Implements
    IAnalyticsIdentifiable.GetAnalyticsIdentifier()

    Instantiate(GraphReference)

    Declaration
    public override void Instantiate(GraphReference instance)
    Parameters
    Type Name Description
    GraphReference instance
    Overrides
    Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.Instantiate(Unity.VisualScripting.GraphReference)
    Implements
    IGraphElement.Instantiate(GraphReference)

    PortsChanged()

    Declaration
    public void PortsChanged()
    Implements
    IUnit.PortsChanged()

    RemoveUnconnectedInvalidPorts()

    Declaration
    public void RemoveUnconnectedInvalidPorts()
    Implements
    IUnit.RemoveUnconnectedInvalidPorts()

    Requirement(ValueInput, ControlInput)

    Triggering the destination may fetch the source value.

    Declaration
    protected void Requirement(ValueInput source, ControlInput destination)
    Parameters
    Type Name Description
    ValueInput source
    ControlInput destination

    Requirement(ValueInput, ValueOutput)

    Getting the value of the destination may fetch the value of the source.

    Declaration
    protected void Requirement(ValueInput source, ValueOutput destination)
    Parameters
    Type Name Description
    ValueInput source
    ValueOutput destination

    Succession(ControlInput, ControlOutput)

    Triggering the source may trigger the destination.

    Declaration
    protected void Succession(ControlInput source, ControlOutput destination)
    Parameters
    Type Name Description
    ControlInput source
    ControlOutput destination

    Uninstantiate(GraphReference)

    Declaration
    public override void Uninstantiate(GraphReference instance)
    Parameters
    Type Name Description
    GraphReference instance
    Overrides
    Unity.VisualScripting.GraphElement<Unity.VisualScripting.FlowGraph>.Uninstantiate(Unity.VisualScripting.GraphReference)
    Implements
    IGraphElement.Uninstantiate(GraphReference)

    ValueInput(Type, String)

    Declaration
    protected ValueInput ValueInput(Type type, string key)
    Parameters
    Type Name Description
    Type type
    String key
    Returns
    Type Description
    ValueInput

    ValueInput<T>(String)

    Declaration
    protected ValueInput ValueInput<T>(string key)
    Parameters
    Type Name Description
    String key
    Returns
    Type Description
    ValueInput
    Type Parameters
    Name Description
    T

    ValueInput<T>(String, T)

    Declaration
    protected ValueInput ValueInput<T>(string key, T default)
    Parameters
    Type Name Description
    String key
    T default
    Returns
    Type Description
    ValueInput
    Type Parameters
    Name Description
    T

    ValueOutput(Type, String)

    Declaration
    protected ValueOutput ValueOutput(Type type, string key)
    Parameters
    Type Name Description
    Type type
    String key
    Returns
    Type Description
    ValueOutput

    ValueOutput(Type, String, Func<Flow, Object>)

    Declaration
    protected ValueOutput ValueOutput(Type type, string key, Func<Flow, object> getValue)
    Parameters
    Type Name Description
    Type type
    String key
    Func<Flow, Object> getValue
    Returns
    Type Description
    ValueOutput

    ValueOutput<T>(String)

    Declaration
    protected ValueOutput ValueOutput<T>(string key)
    Parameters
    Type Name Description
    String key
    Returns
    Type Description
    ValueOutput
    Type Parameters
    Name Description
    T

    ValueOutput<T>(String, Func<Flow, T>)

    Declaration
    protected ValueOutput ValueOutput<T>(string key, Func<Flow, T> getValue)
    Parameters
    Type Name Description
    String key
    Func<Flow, T> getValue
    Returns
    Type Description
    ValueOutput
    Type Parameters
    Name Description
    T

    Events

    onPortsChanged

    Declaration
    public event Action onPortsChanged
    Event Type
    Type Description
    Action
    Implements
    IUnit.onPortsChanged

    Extension Methods

    XUnit.CompatibleValueInput(IUnit, Type)
    XUnit.CompatibleValueOutput(IUnit, Type)
    XAnalyserProvider.Analyser(Object, IGraphContext)
    XAnalyserProvider.Analyser<TAnalyser>(Object, IGraphContext)
    XAnalyserProvider.Analysis(Object, IGraphContext)
    XAnalyserProvider.Analysis<TAnalysis>(Object, IGraphContext)
    XAnalyserProvider.Analyser(Object, GraphReference)
    XAnalyserProvider.Analyser<TAnalyser>(Object, GraphReference)
    XAnalyserProvider.Analysis(Object, GraphReference)
    XAnalyserProvider.Analysis<TAnalysis>(Object, GraphReference)
    XDescriptorProvider.Describe(Object)
    XDescriptorProvider.HasDescriptor(Object)
    XDescriptorProvider.Descriptor(Object)
    XDescriptorProvider.Descriptor<TDescriptor>(Object)
    XDescriptorProvider.Description(Object)
    XDescriptorProvider.Description<TDescription>(Object)
    XUnitOptionProvider.Option(IUnit)
    XUnitOptionProvider.Option<TOption>(IUnit)
    Cloning.Clone(Object, ICloner, Boolean)
    Cloning.Clone<T>(T, ICloner, Boolean)
    Cloning.CloneViaFakeSerialization(Object)
    Cloning.CloneViaFakeSerialization<T>(T)
    GraphsExceptionUtility.GetException(IGraphElementWithDebugData, GraphPointer)
    GraphsExceptionUtility.SetException(IGraphElementWithDebugData, GraphPointer, Exception)
    GraphsExceptionUtility.HandleException(IGraphElementWithDebugData, GraphPointer, Exception)
    ConversionUtility.IsConvertibleTo(Object, Type, Boolean)
    ConversionUtility.IsConvertibleTo<T>(Object, Boolean)
    ConversionUtility.ConvertTo(Object, Type)
    ConversionUtility.ConvertTo<T>(Object)
    TypeUtility.ToShortString(Object, Int32)
    Serialization.CloneViaSerialization<T>(T, Boolean)
    Serialization.CloneViaSerializationInto<TSource, TDestination>(TSource, ref TDestination, Boolean)
    Serialization.Serialize(Object, Boolean)
    LinqUtility.Yield<T>(T)
    UnityObjectUtility.IsUnityNull(Object)
    UnityObjectUtility.ToSafeString(Object)
    In This Article
    • Constructors
      • Unit()
    • Properties
      • canDefine
      • connections
      • controlInputs
      • controlOutputs
      • defaultValues
      • definitionException
      • failedToDefine
      • inputs
      • invalidInputs
      • invalidOutputs
      • invalidPorts
      • isControlRoot
      • isDefined
      • outputs
      • ports
      • position
      • relations
      • validInputs
      • validOutputs
      • validPorts
      • valueInputs
      • valueOutputs
    • Methods
      • AfterAdd()
      • AfterDefine()
      • Assignment(ControlInput, ValueOutput)
      • BeforeRemove()
      • BeforeUndefine()
      • ControlInput(String, Func<Flow, ControlOutput>)
      • ControlInputCoroutine(String, Func<Flow, IEnumerator>)
      • ControlInputCoroutine(String, Func<Flow, ControlOutput>, Func<Flow, IEnumerator>)
      • ControlOutput(String)
      • CopyFrom(Unit)
      • CreateDebugData()
      • Define()
      • Definition()
      • Disconnect()
      • EnsureDefined()
      • EnsureUniqueInput(String)
      • EnsureUniqueOutput(String)
      • GetAnalyticsIdentifier()
      • Instantiate(GraphReference)
      • PortsChanged()
      • RemoveUnconnectedInvalidPorts()
      • Requirement(ValueInput, ControlInput)
      • Requirement(ValueInput, ValueOutput)
      • Succession(ControlInput, ControlOutput)
      • Uninstantiate(GraphReference)
      • ValueInput(Type, String)
      • ValueInput<T>(String)
      • ValueInput<T>(String, T)
      • ValueOutput(Type, String)
      • ValueOutput(Type, String, Func<Flow, Object>)
      • ValueOutput<T>(String)
      • ValueOutput<T>(String, Func<Flow, T>)
    • Events
      • onPortsChanged
    • Extension Methods
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023