# TransitionReference

> Identifies a transition inside a visualization TransitionReference.Context so visualization changes can be applied to it.

## Definition

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

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

## Remarks

Obtain a [TransitionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference.md) from [Context.GetTransitionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/context/gettransitionreference.md), providing the unique identifier of the transition. The reference is only meaningful for the [TransitionReference.Context](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/context.md) that produced it. You can use its properties to set, retrieve, or clear customization for that specific transition in the state machine canvas. Two [TransitionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference.md) values are equal when they share the same [TransitionReference.TransitionID](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/transitionid.md) and refer to the same [TransitionReference.Context](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/context.md) instance.

Additional Resources: [TransitionReference.Context](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/context.md), [Context.GetTransitionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/context/gettransitionreference.md)

## Examples

```csharp
using var debugContext = Registry.CreateVisualizationContext(myStateMachine.ID);
ITransition startTransition = myStateMachine.GetTransitions(startState, nextState).First();

TransitionReference startTransitionRef = debugContext.GetTransitionReference(startTransition.ID);
startTransitionRef.LineColor = DebugStyles.Pending;
debugContext.Motion.Play(startTransitionRef);
```

## Properties

| Property                                                                                                                           | Description                                                                                                                      |
| ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| [Context](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/context.md)             | Visualization context that produced the current transition reference.                                                            |
| [FillColor](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/fillcolor.md)         | The color the referenced transition's arrow is filled with, or `null` when no fill color override is applied.                    |
| [Icon](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/icon.md)                   | The icon override applied in the transition inspector for the referenced transition, or `null` when no icon override is applied. |
| [IsDashed](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/isdashed.md)           | Whether the referenced transition is drawn with a dashed pattern.                                                                |
| [LineColor](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/linecolor.md)         | The color the referenced transition's wire and arrow border is drawn with, or `null` when no line color override is applied.     |
| [Opacity](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/opacity.md)             | The opacity multiplier applied to the referenced transition.                                                                     |
| [TransitionID](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/transitionid.md)   | Unique identifier of the transition this reference points to.                                                                    |
| [WidthOverride](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/transitionreference/widthoverride.md) | The line width override applied to the referenced transition.                                                                    |

## Methods

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

## Operators

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