# Swapping Character Controllers

Yes, you can - but you will need to setup the child objects in the same way as the one you see below or as the example in the demo scene:

{% hint style="warning" %}
Make sure your player controller has a parent object above it and the FlashlightSwing is a child of that parent, not of your controller
{% endhint %}

<figure><img src="https://2670832224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL8GtpEwbGN0bJplKvWXb%2Fuploads%2F0am7JAC9yPZaCpsy8P5k%2FFPSControllerSetup.JPG?alt=media&#x26;token=1f368bf9-c4a3-4f16-abdb-9f69fc78f13e" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
This video is about adding a new FPSController, you don't need to worry about the padlock section as it's been changed in V1.6!
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=mIRa-NkmDkA>" %}
This video is about adding a new FPSController, you don't need to worry about the padlock section as it's been changed in V1.6!
{% endembed %}

## How to disable movement?&#x20;

{% hint style="info" %}
The **AK - DisableManager** script has a reference to the player character on this example:
{% endhint %}

```csharp
using UnityStandardAssets.Characters.FirstPerson;

[SerializeField] private FirstPersonController player;

public void DisablePlayerDefault(bool disable, bool isInteracting, bool isExamine)
{
    if (disable)
    {
        //Code
        if (isExamine)
        {
             blur.enabled = true;
        }

        if (isFirstPerson)
        {
            player.enabled = false;
        }

        if (isThirdPerson)
        {
            thirdPersonController.enabled = false;
            thirdPersonRotator.enabled = false;
         }
    }
    else
    {
        //Code
        if (isExamine)
        {
             blur.enabled = false;
        }

        if (isFirstPerson)
        {
            player.enabled = true;
        }

        if (isThirdPerson)
        {
            thirdPersonController.enabled = true;
            thirdPersonRotator.enabled = true;
        }
      }
```

{% hint style="info" %}
You will want to edit the reference variable and the lines below to incorporate disabling your character movement and camera rotation:&#x20;
{% endhint %}

```csharp
//Reference your character controller here, unless your controller solution comes
//with a better solution
[SerializeField] private FirstPersonController player;
```

{% embed url="<https://www.youtube.com/watch?v=BHHJKCjdur8>" %}
