i__egor, Ты хочешь, чтобы вместо тебя редактор кода решал какие ссылки на объекты тебе нужны, а какие нет? Так, к сведению, на объекте всегда есть либо Transform либо RectTransform, возможно рендерер. Ты в итоге будешь дольше сидеть и редактировать сгенерированный код, удалять ненужные тебе компоненты. Не думаю, что такой плагин вообще существует, можешь попробовать свой сделать.
Zefirot, Ты хоть сам понимаешь что делаешь? Если ты вместо GroundCheckerPosition укажешь Vector3.zero, он у тебя будет указывать в центр твоего объекта, на котором этот монобех висит. В данном случае GroundCheckerPosition - смещение от центра объекта. То же самое у тебя будет, если ты вместо TransformPoint напишешь просто transform.position. Еще раз повторяю.
GroundCheckerPosition у тебя задается единоразово в эвейке. Vector3 - значимый тип данных. Это значит, что у тебя не ссылка на какой-то вектор в GroundCheckerPosition, а значение вектора, оно не меняется с перемещением объекта.
У тебя есть GroundChecker. Это уже GameObject - ссылочный тип. То есть, если ты будешь брать GroundChecker.transform.position, то тебе будет возвращаться вектор текущей позиции, а не той, которая была минуту назад, которую ты в эвейк взял.
Соответственно, у тебя будет не Physics.CheckBox(GroundCheckerPosition, GroundCheckerHalfSize);
А Physics.CheckBox(GroundChecker.transform.position, GroundCheckerHalfSize);
Соответственно, не Gizmos.DrawCube(GroundCheckerPosition, GroundCheckerSize);
А Gizmos.DrawCube(GroundChecker.transform.position, GroundCheckerSize);
Zefirot, У тебя есть GroundChecker, у которого ты в эвейк позицию берешь. Тебе нужно напрямую к нему обращаться, чтобы позицию текущую брать, а не ту, которую в эвейк берешь. GroundChecker.transform.position.
И однострочный if-else ухудшает читаемость кода, зачем это "сокращение"? И прикладывай код класса полностью(с названием и т.д.), чтобы форматирование нормальное было.
yraiv, Найти человека, который использовал это и у него возникла твоя проблема невозможно, т.к. этот ассет в большинстве своем используется людьми, которые не могут сделать такую элементарную вещь как управление персонажем. Либо пиши разработчику ассета, либо свое делай. Свое сделать будет быстрее и проще.
А что тебе надо? Если хочешь максимально контролируемое движение, то rigidbody.MovePosition. Если просто через физику двигать - rb.velocity/addforce. Addforce в том случае, когда нужна именно физика, т.е. самолет там смоделировать или вертолет.
[SerializeField] private GameObject _gameObject;
у тебя занимает половину времени разработки, то ты явно что-то не то делаешь.