Code from api reference giving me: "NullReferenceException: Object reference not set to an instance of an object"

This is the code.

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour {
	public Rigidbody bullet;
	// Use this for initialization
	void Start () {
	// Update is called once per frame
	void Update () {
		if (Input.GetButtonDown("Fire1")) {
            Rigidbody clone = Instantiate(bullet, transform.position, transform.rotation) as Rigidbody;
			clone.velocity = transform.TransformDirection (Vector3.forward * 10);

The error is coming from this line:
clone.velocity = transform.TransformDirection (Vector3.forward * 10);

And yes the attached object for the bullet is a rigidbody. This code is from the api reference.

Dave pointed it out, but it has to be that you don’t have something assigned to your public bullet field. In the inspector you have to drag an object (with a rigidbody) onto it in the inspector.

Clone is definitely null after you try to instantiate your bullet (if transform were null it’d fail on the previous line). The fact that clone is null means either you didn’t instantiate anything (bullet is null) or what you did instantiate didn’t have a rigidbody (so the cast failed).

So check your “bullet” has a rigid body and that you have assigned it to bullet (via dragging it in the inspector).