move the character according to the animation

i am using 3dsmax to export the animations of my character,
i expect it will change the position of the character in unity, but it doesn’t.
for example, my animation will move my character forward for an second.
e.g. form 0,0,0 to 1,0,0
but once the animation end, the character move back to the position 0,0,0.

are there any ways to change the position of the character according to the animation without using something like CharacterController.Move?

Thank You

When you create an animation in any 3D program, the walk cycle should look like it is walking, but actually is holding its ground in worldspace. Later when you import it in unity, you can adjust the speed with the controllers or speed of the animation to match a perfect illustration of the person walking around.

What you did was probably move him in the 3D software, and now he “walks forward” when actually the object is holding it’s place in worldspace, but the avatar is walking forward. This may sound very confusing, but its very crucial for further development.