Can't set up locomotion system properly

I downloaded the Locomotion system from http://unity3d.com/support/resources...motion-ik.html and copied the Assets/Locomotion System folder into my project. I followed the steps in the documentation and find 2 problems:

  1. “Check that the menu bar in Unity includes the menu Tools > Locomotion Initialization but don’t use it yet.”

I have never seen a Tools menu. Is this a problem?

  1. The locomotion docs say “Make sure that the Character Controller fits the character such that the feet are neither intersecting the floor, nor hovering over it. Test it in Play mode.” I get this far and hit Play, and then get errors saying:

    Motor is null!!
    UnityEngine.Debug:Log(Object)
    PlatformCharacterController:Start() (at Assets/Locomotion Assets/Assets/Character Controller Scripts/PlatformCharacterController.cs:14)

    NullReferenceException: Object reference not set to an instance of an object
    PlatformCharacterController.Update () (at Assets/Locomotion Assets/Assets/Character Controller Scripts/PlatformCharacterController.cs:41)

The last error is repeated once per Update(), it seems. However the Hero does have a Normal Character Motor script component attached, as the docs instructed.

There is also a warning:

Assets/Locomotion Assets/Assets/Character Controller Scripts/NormalCharacterMotor.cs(5,37): warning CS0436: The type `CharacterMotor' conflicts with the imported type `CharacterMotor'. Ignoring the imported type definition

Is this likely to be the cause? I’m not sure how I’d resolve it.

Any idea what is wrong here? I am using Unity Pro version 3.4.0f5 on Windows XP.

It’s an error in the docs that it says you should look for the “menu Tools > Locomotion Initialization”. The Locomotion System was updated to have a button in the Inspector instead, but I forgot to update the note from the docs. It will be fixed in the next update.

As for the CharacterMotor problem, I’m not sure, but it could sound like you have two scripts in your project both defining a CharacterMotor class.

It’s on the “Custom” menu. PlatformCharacterController expects a CharacterMotor, of which NormalCharacterMotor is a sub-class, so it should be ok. You’re sure that NormalCharacterMotor script is on the same object (not a child) that hte LegController, LegAnimator, etc. are on, right?