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:

Make sure your player controller has a parent object above it and the FlashlightSwing is a child of that parent, not of your controller

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!

How to disable movement?

The AK - DisableManager script has a reference to the player character on this example:

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;
        }
      }

You will want to edit the reference variable and the lines below to incorporate disabling your character movement and camera rotation:

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

Last updated