animation.Play() and CharacterController.Move()

We are experiencing a problem with playing imported animation clips simultaneously with calling Move on our CharacterController. In the Update function, calling Move behaves as expected. But if we call Move and Play (or CrossFade) within Update, the animation is performed on the game object at its origin (ignoring its current transform) and Move does nothing.

Am I missing something obvious? This behaviour worked normally with 1.2.2, and we are now using Unity 1.5.

Thanks for any thoughts.

Possibly the animation overrides the effect of the character controller. Usually the animation doesn’t affect the root game object that appears in Unity but it might if you have a single root object in your art program and that root object is animated.

The simplest fix would be to add another empty transform in your art program, This will force Unity to create another game object wrapping the two nodes in your art program and that root will never be animated.

Thanks for the insight, Joachim. I placed our game object under another game object containing the character controller, and scripting that controller seems to work.

It seems to imply that an Animation component overrides or ignores its “sibling” Transform component in a given game object, but that is speculation.

Thanks again.