CharacterController.move called on inactive controller

Firstly, yes, I have seen similar posts, but most of them have no answers or were caused due to issues that are not applicable. For example, no nav mesh is needed for a player controlled character controller, and no updates have been made to my editor.
For some reason, the controller I’m trying to reference on a script is “inactive”. This is weird for Unity to tell me because the controller is constantly moving all across the room but still the following code produces the message “called on inactive controller.”

The Unity console gives me the message “CharacterController.move called on inactive controller,” exactly as quoted even though the controller is enabled and is moving outside of this script. Could the issue be related to any character controller settings, like skin width, or something, or because it is serialized, or etcetera; Is there any explanation as to why this script does not work?

using UnityEngine;

public class harpoonLauncher : MonoBehaviour
    private bool collided = false;
    [SerializeField] private CharacterController playerReference;
    private Rigidbody harpoonHead;

    private void Start()
        harpoonHead = GetComponent<Rigidbody>();

    private void OnCollisionEnter(Collision collision)
        harpoonHead.velocity =;
        harpoonHead.constraints = RigidbodyConstraints.FreezeAll;
        collided = true; 
        //make harpoonHead fly a bit forwards and freeze there. 

    private void Update()
            playerReference.Move(Vector3.MoveTowards(playerReference.transform.position, harpoonHead.transform.position, 1f));
        }//amount moved should increase the further from the center the player is[.  

" I have been plagued with this problem and I accidentally just got a clue why this was happening in my application. Try going to the character controller and changing the “step offset” variable. Mine was .3 and I changed it to something bigger like .35. This uncovered the following error msg…

“Step Offset must be less or equal to + * 2”

Even if I reset it back to it’s original value of .3 I still got the error. Once I changed my step value to something that didn’t give me an error (in my case .1) my controller started working again. My suspicion is that a U4 step offset value was not compatible with U5 but no warning was generated to that effect after the upgrade. "


Found this on a forum. I’m not familiar with the problem myself but this might be something that can help you.