c# player move in Unity

the code is working very well to move a rigidbody with Right and Left arrows , but i can’t understand what is the point of using maxVelocity and absVelX , i don’t know their job in the code … when i remove both it works very well , but it seems i will need both in the advanced game level . this is a course form lynda called " Unity 2d essential training by jesse freeman " … please help

using UnityEngine;

using System.Collections;

public class Player : MonoBehaviour {

public float speed=10f;

public Vector2 maxVelocity=new Vector2(3,5);

public bool standing;

public float jetSpeed=15f;

// Update is called once per frame

void Update () {

            //Force resetted each frame
            var forceX = 0f;
            var forceY = 0f;
            var absVelX = Mathf.Abs (rigidbody2D.velocity.x);
            var absVelY = Mathf.Abs (rigidbody2D.velocity.y);

            if (Input.GetKey ("right")) {
                    if (absVelX < maxVelocity.x)
                            forceX = speed;

            transform.localScale=new Vector3(1,1,1);//Sprite orignal pose

            } else if (Input.GetKey ("left")) {
                    if (absVelX < maxVelocity.x)
                            forceX = -speed;

            transform.localScale=new Vector3(-1,1,1);//Sprite reversal pose

            }
    rigidbody2D.AddForce(new Vector2(forceX,forceY));
}

}

Since you’re adding a force to a rigid body. you need to make sure you’re not adding force if you’ve hit the desired velocity.

think of an object in zero gravity, if you continue to add force to the object, it will accelerate infinitely.

So the maxVelocity is basically there so that you don’t exceed the desired movement speed

absVelX and absVelX are just the rigidbodys current velocity.