I’ve been fooling around with the basic animation rigging package in Unity 2019.3.1f1.
In summary, on my basic “root” GO (here by root I just mean the most upper level game object), I have a character controller, a script that takes the inputs and moves the character controller, and some other components like animator, bone renderer, rig builder.
I’m not using “apply root motion” on the animator component, and all my clips that are imported (using a basic mixamo character with some basic clips that are in-place animations) have the “bake into pose” in the import settings on every “root transform/rotation” settings.
When I use a multi position constraint and I set the constraint object to say the hip bone, and the source as some other game object that is a child of the basic “root” GO, then even with 0 rig weight, no movement happens with the character controller. The animations play fine, and so does the rigging. For some reason, when I use “apply root motion”, things work fine. But I’m not using root motion so I’m hesitant to keep it on…
I don’t really understand what the problem is. Regardless of what I’m doing with animation rigging etc, I’d assume that the character controller object should move fin. It’s the highest parent in the hiearchy. But I guess that’s not the case…
Out of curiousity, I tried to see what would happen if I made yet another parent, that would only hold the character controller and the script that moves it (the animator etc. are all in a child), and with that setup, the whole object with the animator etc. just flies away at pretty large speeds.
I can only guess that using a multi-position constraint creates some sort of weird loop that somehow keeps modifying the position of the original object that holds the animator component or something.