# ConditionReference

> Identifies a condition inside a visualization ConditionReference.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\<ConditionReference>](https://learn.microsoft.com/dotnet/api/system.iequatable-1)

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

## Remarks

Obtain a [ConditionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference.md) from [Context.GetConditionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/context/getconditionreference.md), providing the unique identifier of the condition. The reference is only meaningful for the [ConditionReference.Context](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference/context.md) that produced it. Two [ConditionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference.md) values are equal when they share the same [ConditionReference.ConditionID](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference/conditionid.md) and refer to the same [ConditionReference.Context](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference/context.md) instance.

Create a visualization context for a graph, retrieve a [ConditionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference.md) for a condition, apply a customization, then clear it.

Additional Resources: [ConditionReference.Context](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference/context.md), [Context.GetConditionReference](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/context/getconditionreference.md)

## Examples

```csharp
using Context context = Registry.CreateVisualizationContext(graph.ID);
ConditionReference condition = context.GetConditionReference(conditionID);
condition.Icon = DebugStyles.PendingIcon;
condition.ClearCustomization();
```

## Properties

| Property                                                                                                                      | Description                                                                                 |
| ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| [ConditionID](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference/conditionid.md) | Unique identifier of the referenced condition.                                              |
| [Context](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference/context.md)         | Visualization context that produced the current condition reference.                        |
| [Icon](/engine/6000.7/script-reference/unity/graphtoolkit/editor/graphvisualization/conditionreference/icon.md)               | The icon override for the referenced condition, or `null` when no icon override is applied. |

## Methods

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

## Operators

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