# Using a different character controller

## Basics of swapping Controller

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:

![](https://1990716438-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MB9gFa1PG62oL0UGY7U%2F-MDA0v01Uy91ICAp0iLz%2F-MDA4TcUGoSWntXseV6g%2FFPSC_Objects.jpg?alt=media\&token=b2d45a84-04b6-4ad7-ae84-fe7bbb1203be)

{% embed url="https://www.youtube.com/watch?v=mIRa-NkmDkA" %}
Can I use a different Character Controller with this system?
{% endembed %}

## How to disable movement?&#x20;

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

```csharp
using UnityStandardAssets.Characters.FirstPerson;

[SerializeField] private FirstPersonController player;

public void DisablePlayer(bool disable)
        {
            if (disable)
            {
                AKUIManager.instance.isInteracting = true;
                crosshair.enabled = false;
                player.enabled = false;
            }
            else
            {
                AKUIManager.instance.isInteracting = false;
                crosshair.enabled = true;
                player.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" %}

##
