# CrossFade

> Creates a crossfade from the current state to any other state using normalized times.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.7/script-reference/unityengine.md)
* **Assembly:** UnityEngine.AnimationModule

## CrossFade(string, float, int, float)

Creates a crossfade from the current state to any other state using normalized times.

```csharp
public void CrossFade(string stateName, float normalizedTransitionDuration, int layer, float normalizedTimeOffset)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the state.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The duration of the transition (normalized).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The layer where the crossfade occurs.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The time of the state (normalized).

### Remarks

When you specify a state name, or the string used to generate a hash, it should include the name of the parent layer. For example, if you have a `Run` state in the `Base Layer`, the name is `Base Layer.Run`. When you use the `stateName` parameter, this method calls [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md) internally. If you use this method with the same `stateName` often, precompute the hash and use the `stateHashName` parameter to improve performance.

Additional Resources: [Animator.CrossFadeInFixedTime](/engine/6000.7/script-reference/unityengine/animator/crossfadeinfixedtime.md), [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md)

## CrossFade(string, float, int)

Creates a crossfade from the current state to any other state using normalized times.

```csharp
public void CrossFade(string stateName, float normalizedTransitionDuration, int layer)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the state.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The duration of the transition (normalized).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The layer where the crossfade occurs.

### Remarks

When you specify a state name, or the string used to generate a hash, it should include the name of the parent layer. For example, if you have a `Run` state in the `Base Layer`, the name is `Base Layer.Run`. When you use the `stateName` parameter, this method calls [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md) internally. If you use this method with the same `stateName` often, precompute the hash and use the `stateHashName` parameter to improve performance.

Additional Resources: [Animator.CrossFadeInFixedTime](/engine/6000.7/script-reference/unityengine/animator/crossfadeinfixedtime.md), [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md)

## CrossFade(string, float)

Creates a crossfade from the current state to any other state using normalized times.

```csharp
public void CrossFade(string stateName, float normalizedTransitionDuration)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the state.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The duration of the transition (normalized).

### Remarks

When you specify a state name, or the string used to generate a hash, it should include the name of the parent layer. For example, if you have a `Run` state in the `Base Layer`, the name is `Base Layer.Run`. When you use the `stateName` parameter, this method calls [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md) internally. If you use this method with the same `stateName` often, precompute the hash and use the `stateHashName` parameter to improve performance.

Additional Resources: [Animator.CrossFadeInFixedTime](/engine/6000.7/script-reference/unityengine/animator/crossfadeinfixedtime.md), [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md)

## CrossFade(string, float, int, float, float)

Creates a crossfade from the current state to any other state using normalized times.

```csharp
public void CrossFade(string stateName, float normalizedTransitionDuration, int layer, float normalizedTimeOffset, float normalizedTransitionTime)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name of the state.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The duration of the transition (normalized).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The layer where the crossfade occurs.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The time of the state (normalized).**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The time of the transition (normalized).

### Remarks

When you specify a state name, or the string used to generate a hash, it should include the name of the parent layer. For example, if you have a `Run` state in the `Base Layer`, the name is `Base Layer.Run`. When you use the `stateName` parameter, this method calls [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md) internally. If you use this method with the same `stateName` often, precompute the hash and use the `stateHashName` parameter to improve performance.

Additional Resources: [Animator.CrossFadeInFixedTime](/engine/6000.7/script-reference/unityengine/animator/crossfadeinfixedtime.md), [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md)

## CrossFade(int, float, int, float, float)

Creates a crossfade from the current state to any other state using normalized times.

```csharp
public void CrossFade(int stateHashName, float normalizedTransitionDuration, int layer, float normalizedTimeOffset, float normalizedTransitionTime)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The hash name of the state.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The duration of the transition (normalized).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The layer where the crossfade occurs.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The time of the state (normalized).**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The time of the transition (normalized).

### Remarks

When you specify a state name, or the string used to generate a hash, it should include the name of the parent layer. For example, if you have a `Run` state in the `Base Layer`, the name is `Base Layer.Run`. When you use the `stateName` parameter, this method calls [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md) internally. If you use this method with the same `stateName` often, precompute the hash and use the `stateHashName` parameter to improve performance.

Additional Resources: [Animator.CrossFadeInFixedTime](/engine/6000.7/script-reference/unityengine/animator/crossfadeinfixedtime.md), [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md)

## CrossFade(int, float, int, float)

Creates a crossfade from the current state to any other state using normalized times.

```csharp
public void CrossFade(int stateHashName, float normalizedTransitionDuration, int layer, float normalizedTimeOffset)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): **** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The duration of the transition (normalized).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The layer where the crossfade occurs.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The time of the state (normalized).

### Remarks

When you specify a state name, or the string used to generate a hash, it should include the name of the parent layer. For example, if you have a `Run` state in the `Base Layer`, the name is `Base Layer.Run`. When you use the `stateName` parameter, this method calls [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md) internally. If you use this method with the same `stateName` often, precompute the hash and use the `stateHashName` parameter to improve performance.

Additional Resources: [Animator.CrossFadeInFixedTime](/engine/6000.7/script-reference/unityengine/animator/crossfadeinfixedtime.md), [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md)

## CrossFade(int, float, int)

Creates a crossfade from the current state to any other state using normalized times.

```csharp
public void CrossFade(int stateHashName, float normalizedTransitionDuration, int layer)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): **** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The duration of the transition (normalized).**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): The layer where the crossfade occurs.

### Remarks

When you specify a state name, or the string used to generate a hash, it should include the name of the parent layer. For example, if you have a `Run` state in the `Base Layer`, the name is `Base Layer.Run`. When you use the `stateName` parameter, this method calls [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md) internally. If you use this method with the same `stateName` often, precompute the hash and use the `stateHashName` parameter to improve performance.

Additional Resources: [Animator.CrossFadeInFixedTime](/engine/6000.7/script-reference/unityengine/animator/crossfadeinfixedtime.md), [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md)

## CrossFade(int, float)

Creates a crossfade from the current state to any other state using normalized times.

```csharp
public void CrossFade(int stateHashName, float normalizedTransitionDuration)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): **** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The duration of the transition (normalized).

### Remarks

When you specify a state name, or the string used to generate a hash, it should include the name of the parent layer. For example, if you have a `Run` state in the `Base Layer`, the name is `Base Layer.Run`. When you use the `stateName` parameter, this method calls [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md) internally. If you use this method with the same `stateName` often, precompute the hash and use the `stateHashName` parameter to improve performance.

Additional Resources: [Animator.CrossFadeInFixedTime](/engine/6000.7/script-reference/unityengine/animator/crossfadeinfixedtime.md), [Animator.StringToHash](/engine/6000.7/script-reference/unityengine/animator/stringtohash.md)
