Interface IUnit
Represents a unit within a flow graph, defining its behavior, ports, connections, and visualization in the graph editor.
Inherited Members
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 |