What is the different between using Move from CharacterController and Translate from transform?
Aren’t they get the same goal done?(Translate Object)
What is the different between using Move from CharacterController and Translate from transform?
Aren’t they get the same goal done?(Translate Object)
Of course you could move an object that has a CharacterController attached either with Translate or with Move. However only Move will actually perform collision detection. A characterController is not a physics object and it does the collision detection itself when you use Move. Translate will move the object as well, but the CharacterController can’t detect collisions.
Keep in mind that when using the CharacterController the object should not have a Rigidbody attached. A Rigidbody and a Charactercontroller both serve the same purpose: moving the object and detecting collisions. A Rigidbody is ment for objects that should behave like real world physics objects whereas a CharacterController is ment for a more direct control of the object like used in most games. A CharacterController can’t receive external forces unless you apply them manually using Move. A Rigidbody can receive external forces, so they can be pushed by other rigidbody objects.
Well, this may sound dumb but Move will move your character controlled object whereas Translate will move any other (non character controlled object). The manual goes on to explain lots of stuff…
Spoiler Alert:
Character controlled objects are those things your player decides when and how to move. Dynamic objects not controlled by the player do not need a character controller and thus can be moved with a Translate-