# AnimatorOverrideController

> Creates an empty Animator Override Controller.

## Definition

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

## AnimatorOverrideController()

Creates an empty Animator Override Controller.

```csharp
public AnimatorOverrideController()
```

## AnimatorOverrideController(RuntimeAnimatorController)

Creates an Animator Override Controller that overrides **controller**.

```csharp
public AnimatorOverrideController(RuntimeAnimatorController controller)
```

### Parameters

**** (\[RuntimeAnimatorController]\(/engine/6000.0/script-reference/unityengine/runtimeanimatorcontroller)): Runtime Animator Controller to override.

### Remarks

Although the Animator Override Controller doesn't support nested Animator Override Controller, this constructor will find the right controller for you.

### Examples

```csharp
using UnityEngine;

public class SwapWeapon : MonoBehaviour
{
    protected Animator animator;
    protected AnimatorOverrideController animatorOverrideController;

    public void Start()
    {
        animator = GetComponent<Animator>();

        animatorOverrideController = new AnimatorOverrideController(animator.runtimeAnimatorController);
        animator.runtimeAnimatorController = animatorOverrideController;
    }
}
```
