What is the difference?!

So, this might sound stupid to you guys but it has been bugging me and I can’t seem to find the answer…

What is the difference between… .Translate, .Set, .Movement, .MovePosition…

Trying to truly figure out how to move my character…

Thanks.

Transform.Translate:

  1. Moves the object instantly by the specified amount. (ignores collisions)
  2. Optionally, allows you to specify a reference space. Translating by new Vector3(0f, 5f, 0f) in Space.World moves the object up no matter its rotation. If the object is upside down and you move it in Space.Self(this is the default) then it will move down in the world.

Set: I’m not sure what function you’re talking about. Set on what object?

Movement: Again, not sure which function you’re talking about exactly. I’ll assume CharacterController.Move

  1. Moves the object by the specified amount instantly, but is restrained by collisions.

RigidBody.MovePosition:

  1. Moves the object by the specified amount in a single physics update provided there are no collisions.
  2. If interpolation is enabled on the rigidbody, then any intermediate frames that are rendered will show the object being interpolated (gradually moved).

Thanks I should of made the question more specific as well.

Thanks again,

  • KRD