- Home /
Character controller not following moving parent transform properly
In the latest version of unity, something about the character controller has changed. In previous versions from mid 2018 I could have a character controller parent to an object and move along. I could do this while also calling the move() function.
However with the latest version of unity, I no longer seem to be able to do this any more. The character either follows the parent in a very choppy way or not at all. I even have an older project where I have this concept working. The older project has not been updated to the latest unity version, I exported a package of that character controller into my new project and it doesn't work as intended. Even tried copying just the code over with no luck.
Does anyone know if the character controller somehow changed? Is there a way to have move() work on the local position and not override the world space position as that seems to be my theory of what's happening? All of this is an effort to have the controller stand and move on a moving platform.
Answer by golaod · Jun 09, 2021 at 07:55 PM
It's an old topic, but I just had the same issue. I moved my old project to new unity and new render pipeline system and same script, same player and same platform stopped working.
After checking all the topics with rigidbody, OnTriggerStay, position correction and so on, I found out that there is 'auto sync transforms' option which was not enabled in my new project. When I reenabled it, things went back to normal. (Edit -> Project Settings -> Physics (or Physics 2d) -> Auto Sync Transforms
Answer by YorTheBlind · Jul 16, 2020 at 06:26 PM
Hi! I imagine you might have solved this already, but just in case someone else stumbles upon this question (as I did):
This can be solved by using FixedUpdate instead Update to move the parent object. I'm fairly new to Unity, so don't ask me why, but it works. :D
Answer by 1822404 · Feb 20 at 12:58 AM
Old thread, sorry - The auto sync transforms wasn't working for me, but for my setup (dynamic physical vehicle + character controller) disabling the character controller after the Move() and re-enabling it before the Move() let my character move along with the rigidbody parent without issues. It seems like a horrible hack, but so far, so good. The default cc has always been awful, but man..
Your answer
Follow this Question
Related Questions
Does moving a charactercontroller via it's transform hurt performance? 1 Answer
Is it possible to get transform.Translate() to move like CharacterController.Move()? 0 Answers
charactercontroller.Move Jump not working! 2 Answers
Switching from SimpleMove to Move 1 Answer
Best Way to make a character move 1 Answer