# Start

> Starts a transition animation on this VisualElement.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.UIElements.Experimental](/engine/6000.3/script-reference/unityengine/uielements/experimental.md)
* **Assembly:** UnityEngine.UIElementsModule

## Start(float, float, int, Action\<VisualElement, float>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<float> Start(float from, float to, int durationMs, Action<VisualElement, float> onValueChanged)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Start value.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, float>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                             | Description                   |
| ---------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<float>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Rect, Rect, int, Action\<VisualElement, Rect>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Rect> Start(Rect from, Rect to, int durationMs, Action<VisualElement, Rect> onValueChanged)
```

### Parameters

**** (\[Rect]\(/engine/6000.3/script-reference/unityengine/rect)): Start value.**** (\[Rect]\(/engine/6000.3/script-reference/unityengine/rect)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Rect>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                            | Description                   |
| --------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<Rect>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Color, Color, int, Action\<VisualElement, Color>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Color> Start(Color from, Color to, int durationMs, Action<VisualElement, Color> onValueChanged)
```

### Parameters

**** (\[Color]\(/engine/6000.3/script-reference/unityengine/color)): Start value.**** (\[Color]\(/engine/6000.3/script-reference/unityengine/color)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Color>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                             | Description                   |
| ---------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<Color>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Vector3, Vector3, int, Action\<VisualElement, Vector3>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Vector3> Start(Vector3 from, Vector3 to, int durationMs, Action<VisualElement, Vector3> onValueChanged)
```

### Parameters

**** (\[Vector3]\(/engine/6000.3/script-reference/unityengine/vector3)): Start value.**** (\[Vector3]\(/engine/6000.3/script-reference/unityengine/vector3)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                               | Description                   |
| ------------------------------------------------------------------------------------------------------------------ | ----------------------------- |
| [ValueAnimation\<Vector3>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Vector2, Vector2, int, Action\<VisualElement, Vector2>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Vector2> Start(Vector2 from, Vector2 to, int durationMs, Action<VisualElement, Vector2> onValueChanged)
```

### Parameters

**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): Start value.**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Vector2>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                               | Description                   |
| ------------------------------------------------------------------------------------------------------------------ | ----------------------------- |
| [ValueAnimation\<Vector2>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Quaternion, Quaternion, int, Action\<VisualElement, Quaternion>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Quaternion> Start(Quaternion from, Quaternion to, int durationMs, Action<VisualElement, Quaternion> onValueChanged)
```

### Parameters

**** (\[Quaternion]\(/engine/6000.3/script-reference/unityengine/quaternion)): Start value.**** (\[Quaternion]\(/engine/6000.3/script-reference/unityengine/quaternion)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Quaternion>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                                  | Description                   |
| --------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<Quaternion>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(StyleValues, StyleValues, int)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<StyleValues> Start(StyleValues from, StyleValues to, int durationMs)
```

### Parameters

**** (\[StyleValues]\(/engine/6000.3/script-reference/unityengine/uielements/experimental/stylevalues)): Start value.**** (\[StyleValues]\(/engine/6000.3/script-reference/unityengine/uielements/experimental/stylevalues)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.

### Returns

| Type                                                                                                                   | Description                   |
| ---------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<StyleValues>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(StyleValues, int)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<StyleValues> Start(StyleValues to, int durationMs)
```

### Parameters

**** (\[StyleValues]\(/engine/6000.3/script-reference/unityengine/uielements/experimental/stylevalues)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.

### Returns

| Type                                                                                                                   | Description                   |
| ---------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<StyleValues>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Func\<VisualElement, float>, float, int, Action\<VisualElement, float>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<float> Start(Func<VisualElement, float> fromValueGetter, float to, int durationMs, Action<VisualElement, float> onValueChanged)
```

### Parameters

**** (\[Func\<VisualElement, float>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Callback that provides the initial value.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, float>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                             | Description                   |
| ---------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<float>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Func\<VisualElement, Rect>, Rect, int, Action\<VisualElement, Rect>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Rect> Start(Func<VisualElement, Rect> fromValueGetter, Rect to, int durationMs, Action<VisualElement, Rect> onValueChanged)
```

### Parameters

**** (\[Func\<VisualElement, Rect>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Callback that provides the initial value.**** (\[Rect]\(/engine/6000.3/script-reference/unityengine/rect)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Rect>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                            | Description                   |
| --------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<Rect>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Func\<VisualElement, Color>, Color, int, Action\<VisualElement, Color>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Color> Start(Func<VisualElement, Color> fromValueGetter, Color to, int durationMs, Action<VisualElement, Color> onValueChanged)
```

### Parameters

**** (\[Func\<VisualElement, Color>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Callback that provides the initial value.**** (\[Color]\(/engine/6000.3/script-reference/unityengine/color)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Color>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                             | Description                   |
| ---------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<Color>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Func\<VisualElement, Vector3>, Vector3, int, Action\<VisualElement, Vector3>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Vector3> Start(Func<VisualElement, Vector3> fromValueGetter, Vector3 to, int durationMs, Action<VisualElement, Vector3> onValueChanged)
```

### Parameters

**** (\[Func\<VisualElement, Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Callback that provides the initial value.**** (\[Vector3]\(/engine/6000.3/script-reference/unityengine/vector3)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                               | Description                   |
| ------------------------------------------------------------------------------------------------------------------ | ----------------------------- |
| [ValueAnimation\<Vector3>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Func\<VisualElement, Vector2>, Vector2, int, Action\<VisualElement, Vector2>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Vector2> Start(Func<VisualElement, Vector2> fromValueGetter, Vector2 to, int durationMs, Action<VisualElement, Vector2> onValueChanged)
```

### Parameters

**** (\[Func\<VisualElement, Vector2>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Callback that provides the initial value.**** (\[Vector2]\(/engine/6000.3/script-reference/unityengine/vector2)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Vector2>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                               | Description                   |
| ------------------------------------------------------------------------------------------------------------------ | ----------------------------- |
| [ValueAnimation\<Vector2>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |

## Start(Func\<VisualElement, Quaternion>, Quaternion, int, Action\<VisualElement, Quaternion>)

Starts a transition animation on this VisualElement.

```csharp
ValueAnimation<Quaternion> Start(Func<VisualElement, Quaternion> fromValueGetter, Quaternion to, int durationMs, Action<VisualElement, Quaternion> onValueChanged)
```

### Parameters

**** (\[Func\<VisualElement, Quaternion>]\(https\://learn.microsoft.com/dotnet/api/system.func-1)): Callback that provides the initial value.**** (\[Quaternion]\(/engine/6000.3/script-reference/unityengine/quaternion)): End value.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Duration of the transition in milliseconds.**** (\[Action\<VisualElement, Quaternion>]\(https\://learn.microsoft.com/dotnet/api/system.action)): Callback that applies the interpolated value.

### Returns

| Type                                                                                                                  | Description                   |
| --------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| [ValueAnimation\<Quaternion>](/engine/6000.3/script-reference/unityengine/uielements/experimental/valueanimation1.md) | The created animation object. |
