Class Unit
Assembly : Unity.VisualScripting.Flow.dll
Syntax
[SerializationVersion("A" , new Type[ ] { })]
public abstract class Unit : GraphElement <FlowGraph >, IUnit , IGraphElementWithDebugData , IGraphElement , IGraphItem , INotifiedCollectionItem , IDisposable , IPrewarmable , IAotStubbable , IIdentifiable , IAnalyticsIdentifiable
Constructors
Unit()
Declaration
Properties
canDefine
Gets a value indicating whether this unit can be defined.
Declaration
[DoNotSerialize ]
public virtual bool canDefine { get ; }
Property Value
connections
Gets all connections associated with this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitConnection> connections { get ; }
Property Value
Gets the collection of control input ports for this unit.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<ControlInput> controlInputs { get ; }
Property Value
controlOutputs
Gets the collection of control output ports for this unit.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<ControlOutput> controlOutputs { get ; }
Property Value
defaultValues
Gets a dictionary of default values used by the unit.
The keys represent port names, and the values represent their corresponding defaults.
Declaration
[Serialize ]
public Dictionary<string , object > defaultValues { get ; }
Property Value
definitionException
Gets the exception that occurred during the definition process, if the unit failed to define.
Declaration
[DoNotSerialize ]
public Exception definitionException { get ; protected set ; }
Property Value
failedToDefine
Gets a value indicating whether this unit failed to define.
Declaration
[DoNotSerialize ]
public bool failedToDefine { get ; }
Property Value
Gets all input ports (both valid and invalid) for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitInputPort> inputs { get ; }
Property Value
Gets the collection of invalid input ports for this unit, which represent connections with unresolved compatibility issues.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<InvalidInput> invalidInputs { get ; }
Property Value
invalidOutputs
Gets the collection of invalid output ports for this unit, which represent connections with unresolved compatibility issues.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<InvalidOutput> invalidOutputs { get ; }
Property Value
invalidPorts
Gets the invalid ports for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitPort> invalidPorts { get ; }
Property Value
isControlRoot
Gets a value indicating whether this unit is the control root of its graph.
Declaration
[DoNotSerialize ]
public virtual bool isControlRoot { get ; protected set ; }
Property Value
isDefined
Gets a value indicating whether this unit is currently defined.
Declaration
[DoNotSerialize ]
public bool isDefined { get ; }
Property Value
outputs
Gets all output ports (both valid and invalid) for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitOutputPort> outputs { get ; }
Property Value
ports
Gets all ports (valid and invalid) for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitPort> ports { get ; }
Property Value
position
Gets or sets the position of this unit in the graph editor interface.
Declaration
[Serialize ]
public Vector2 position { get ; set ; }
Property Value
relations
Gets the collection of port-to-port relationships (or connections) in this unit.
Declaration
[DoNotSerialize ]
public IConnectionCollection<IUnitRelation, IUnitPort, IUnitPort> relations { get ; }
Property Value
Gets the valid input ports for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitInputPort> validInputs { get ; }
Property Value
validOutputs
Gets the valid output ports for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitOutputPort> validOutputs { get ; }
Property Value
validPorts
Gets the valid ports for this unit.
Declaration
[DoNotSerialize ]
public IEnumerable<IUnitPort> validPorts { get ; }
Property Value
Gets the collection of value input ports for this unit.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<ValueInput> valueInputs { get ; }
Property Value
valueOutputs
Gets the collection of value output ports for this unit.
Declaration
[DoNotSerialize ]
public IUnitPortCollection<ValueOutput> valueOutputs { get ; }
Property Value
Methods
AfterAdd()
Declaration
public override void AfterAdd ()
Overrides
AfterDefine()
Declaration
protected virtual void AfterDefine ()
Triggering the source may assign the destination value on the flow.
Declaration
protected void Assignment (ControlInput source, ValueOutput destination )
Parameters
BeforeRemove()
Declaration
public override void BeforeRemove ()
Overrides
BeforeUndefine()
Declaration
protected virtual void BeforeUndefine ()
Declaration
protected ControlInput ControlInput (string key, Func<Flow, ControlOutput> action )
Parameters
Returns
Declaration
protected ControlInput ControlInputCoroutine (string key, Func<Flow, IEnumerator> coroutineAction )
Parameters
Returns
Declaration
protected ControlInput ControlInputCoroutine (string key, Func<Flow, ControlOutput> action, Func<Flow, IEnumerator> coroutineAction )
Parameters
Returns
ControlOutput(string)
Declaration
protected ControlOutput ControlOutput (string key )
Parameters
Type
Name
Description
string
key
Returns
CopyFrom(Unit)
Declaration
protected void CopyFrom (Unit source )
Parameters
Type
Name
Description
Unit
source
CreateDebugData()
Declaration
public virtual IGraphElementDebugData CreateDebugData ()
Returns
Define()
Defines this unit by setting up its ports, connections, and other requirements.
Declaration
Definition()
Declaration
protected abstract void Definition ()
Disconnect()
Declaration
public void Disconnect ()
EnsureDefined()
Ensures that this unit is properly defined, invoking definition if necessary.
Declaration
public void EnsureDefined ()
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
Overrides
Instantiate(GraphReference)
Declaration
public override void Instantiate (GraphReference instance )
Parameters
Overrides
PortsChanged()
Called to notify that ports in the unit have changed.
Declaration
public void PortsChanged ()
RemoveUnconnectedInvalidPorts()
Removes any unconnected invalid ports from this unit.
Declaration
public void RemoveUnconnectedInvalidPorts ()
Triggering the destination may fetch the source value.
Declaration
protected void Requirement (ValueInput source, ControlInput destination )
Parameters
Getting the value of the destination may fetch the value of the source.
Declaration
protected void Requirement (ValueInput source, ValueOutput destination )
Parameters
Triggering the source may trigger the destination.
Declaration
protected void Succession (ControlInput source, ControlOutput destination )
Parameters
Uninstantiate(GraphReference)
Declaration
public override void Uninstantiate (GraphReference instance )
Parameters
Overrides
Declaration
protected ValueInput ValueInput (Type type, string key )
Parameters
Returns
Declaration
protected ValueInput ValueInput <T >(string key )
Parameters
Type
Name
Description
string
key
Returns
Type Parameters
Declaration
protected ValueInput ValueInput <T >(string key, T @default )
Parameters
Type
Name
Description
string
key
T
default
Returns
Type Parameters
ValueOutput(Type, string)
Declaration
protected ValueOutput ValueOutput (Type type, string key )
Parameters
Returns
ValueOutput(Type, string, Func<Flow, object>)
Declaration
protected ValueOutput ValueOutput (Type type, string key, Func<Flow, object > getValue )
Parameters
Returns
ValueOutput<T>(string)
Declaration
protected ValueOutput ValueOutput <T >(string key )
Parameters
Type
Name
Description
string
key
Returns
Type Parameters
ValueOutput<T>(string, Func<Flow, T>)
Declaration
protected ValueOutput ValueOutput <T >(string key, Func<Flow, T> getValue )
Parameters
Returns
Type Parameters
Events
onPortsChanged
Event triggered when ports in the unit have changed.
Declaration
public event Action onPortsChanged
Event Type
Implements
Extension Methods
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
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.