# WireReference

> Identifies a wire inside a visualization WireReference.Context so visualization changes can be applied to it.

## Definition

* **Type:** Struct
* **Namespace:** [Unity.GraphToolkit.Editor.GraphVisualization](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization.md)
* **Assembly:** UnityEditor
* **Implements:** [IEquatable\<WireReference>](https://learn.microsoft.com/dotnet/api/system.iequatable-1)

```csharp
public readonly struct WireReference : IEquatable<WireReference>
```

## Remarks

Obtain a [WireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference.md) from [Context.GetWireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/context/getwirereference.md), providing the unique identifiers of the output and input ports that define the connection. The reference is only meaningful for the [WireReference.Context](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/context.md) that produced it. You can use its properties to set, retrieve, or clear customization for that specific wire in the graph canvas. Two [WireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference.md) values are equal when they share the same [WireReference.OutputPortID](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/outputportid.md) and [WireReference.InputPortID](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/inputportid.md), and refer to the same [WireReference.Context](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/context.md) instance.

Create a visualization context for a graph, retrieve a [WireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference.md) for a connected pair of ports, apply customizations, then clear them.

Additional Resources: [WireReference.Context](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/context.md), [Context.GetWireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/context/getwirereference.md)

## Examples

```csharp
using Context context = Registry.CreateVisualizationContext(graph.UID);
WireReference wire = context.GetWireReference(outputPortID, inputPortID);
wire.IsDashed = true;
wire.WidthOverride = 4f;
wire.Opacity = 0.5f;
wire.ClearCustomization();
```

## Properties

| Property                                                                                                                     | Description                                                          |
| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| [Context](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/context.md)             | Visualization context that produced the current wire reference.      |
| [InputPortID](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/inputportid.md)     | Unique identifier of the input port at the end of the connection.    |
| [IsDashed](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/isdashed.md)           | Whether the reference wire is drawn with a dashed pattern.           |
| [Opacity](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/opacity.md)             | The opacity multiplier applied to the referenced wire.               |
| [OutputPortID](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/outputportid.md)   | Unique identifier of the output port at the start of the connection. |
| [WidthOverride](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/widthoverride.md) | The width override applied to the referenced wire.                   |

## Methods

| Method                                                                                                                                 | Description                                                                                                                                                              |
| -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [ClearCustomization](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/clearcustomization.md) | Clears all customization previously applied to the referenced wire.                                                                                                      |
| [Equals](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/equals.md)                         | Indicates whether the current [WireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference.md) is equal to another object. |
| [GetHashCode](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/gethashcode.md)               | Returns a hash code for the current [WireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference.md).                      |

## Operators

| Operator                                                                                                                   | Description                                                                                                                                        |
| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [operator ==](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/op-equality.md)   | Compares two [WireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference.md) values for equality.   |
| [operator !=](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference/op-inequality.md) | Compares two [WireReference](/engine/6000.6/script-reference/unity/graphtoolkit/editor/graphvisualization/wirereference.md) values for inequality. |
