Rigidbody velocity and transform.forward

Ok so here’s the deal, I want my character to move forward relative to it’s rotation, so i’m using a simple rotation scrip along with the rigid.velocity = transform.forward * vel, but whenever this command is running the Y velocity goes nuts, so it looks just like the character is gliding, is there any good way to fix that?

when you directly change the velocity like you are doing, it ignores the mass of the object. It is recommended that you use rigidbody.AddForce() instead for manipulating physics objects.

In your case it would be:

 if(_rigid.velocity.sqrMagnitude<_desiredVelocty* _desiredVelocty)
    {
          _rigid.AddRelativeForce(Vector3.forward * _desiredVelocty /* or speed */);
    }