При проверке Debug.Log(motor.CharacterController == null);
В этом классе вернет false. Складывается впечатление, что у меня 2 разных reference
То-есть ссылка все же назначается. Может быть и вправду не для того объекта проверяешь?
Еще заметил, по неймингу, у тебя переменная называется gameobject, опасно так называть, очень легко опечататься с внутренней переменной компонента.