Rigid Body Velocity max

Im trying to figure out how to change the velocity of the rigidbody back to “0” when im not pressing the direction key im using unity 5 and have tried :

Rigidbody.velocity = Vector3.ClampMagnitude (Rigidbody.velocity, 5);

but im getting errors from it on my script. anyone know a velocity rest to 0 when not pressing anything?
here is my code in c#

using UnityEngine;
using System.Collections;

public class BoatController : MonoBehaviour {
	CharacterController cc;
	CharacterMotor cm;
	ThirdPersonController tp;
	GameObject player;
	Transform defaultPlayerTransform;


	bool isDriving=false;

	// Use this for initialization
	void Start () {
		cc = GameObject.FindObjectOfType<CharacterController> ();
		cm = GameObject.FindObjectOfType<CharacterMotor> ();
		tp = GameObject.FindObjectOfType<ThirdPersonController> ();
		player = cm.gameObject;
		defaultPlayerTransform = player.transform.parent;
	}

	bool IsPlayerCloseToboat()
	{
		return Vector3.Distance (gameObject.transform.position,
		   player.transform.position)<5;

	}

	void SetDriving(bool isDriving)
	{
		this.isDriving = isDriving;

		cm.enabled = !isDriving;
		cc.enabled = !isDriving;
		tp.enabled = !isDriving;


		if (isDriving)
						player.transform.parent = gameObject.transform;
				else
						player.transform.parent = defaultPlayerTransform;
	}

	// Update is called once per frame
	void Update () {
	if (Input.GetKeyDown(KeyCode.F)&& IsPlayerCloseToboat ()) 
						SetDriving (!isDriving);

		if (isDriving) 
		{
			float forwardThrust = 0;
			if(Input.GetKey(KeyCode.W))
				forwardThrust = 1;
			if(Input.GetKey(KeyCode.S))
				forwardThrust = -1;

			GetComponent<Rigidbody>().AddForce(gameObject.transform.forward*forwardThrust);



			float turnThrust = 0;
			if(Input.GetKey(KeyCode.A))
				turnThrust = -1;
			if(Input.GetKey(KeyCode.D))
				turnThrust = 1;


			GetComponent<Rigidbody>().AddRelativeTorque(Vector3.up*turnThrust);
		}

		Rigidbody.velocity = Vector3.ClampMagnitude (Rigidbody.velocity, 5);

	}
}

You’re trying to clamp the velocity of the Rigidbody class instead of your rigidbody. This:

Rigidbody.velocity = Vector3.ClampMagnitude (Rigidbody.velocity, 5);

should be this:

GetComponent<Rigidbody>().velocity = Vector3.ClampMagnitude (Rigidbody.velocity, 5);

That just makes your rigibody never move faster than 5m/s, so that won’t stop it when you stop pressing the input.

If you want your rigidbody to insta-stop, you can just set the velocity to zero:

GetComponent<Rigidbody>().velocity = new Vector3(0,0,0);

A better alternative is probably to increase the drag of your rigidbody, which makes it slow down faster.