Object reference not set instance of object

Hey Everyone,
I got this error message while creating my first game and couldn’t figure it out. I know it has to do with the object reference not being made, but I don’t know how to fix it because I am a beginner and it has to do with raycasts. For some background, I am trying to make the camera transform to the object hit by the raycast. Here is the code. Thanks for the help!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Raycast : MonoBehaviour
{
public Camera Camera;
public Transform cameraPosition;
public GameObject playerCameraPosition;
public float distance;
public float camPosition;

void Start()
{
camPosition = 1;
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit, 1000))
{
if (hit.distance < 15)
{
camPosition = 2;
Debug.Log(hit.collider.gameObject.name + " is " + Mathf.Round(distance = hit.distance) + " feet away");
cameraPosition.transform.position = hit.collider.gameObject.transform.position;
}
else
{
Debug.Log(“Nothing was detected”);
camPosition = 1;
}
}
if (camPosition == 1)
{
cameraPosition.transform.position = playerCameraPosition.transform.position;
cameraPosition.transform.rotation = playerCameraPosition.transform.rotation;
}
if (camPosition == 2)
{
cameraPosition.transform.position = hit.collider.gameObject.transform.position;
cameraPosition.transform.rotation = hit.collider.gameObject.transform.rotation;
}
}
}
}

Please use code tags when posting code. (It is in the posting toolbar) Also, please post the entire error message so we can be of assistance.

1 Like

Here is the code, I don’t know if I did it right (sorry). The error reads:
“NullReferenceException: Object reference not set to an instance of an object
Raycast.Update () (at Assets/Scripts/Raycast.cs:24)”

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Raycast : MonoBehaviour
{
    public Camera Camera;
    public Transform cameraPosition;
    public GameObject playerCameraPosition;
    public float distance;
    public float camPosition;
    void Start()
    {
        camPosition = 1;
    }
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            if (Physics.Raycast(ray, out hit, 1000))
            {
                if (hit.distance < 15)
                {
                    camPosition = 2;
                    Debug.Log(hit.collider.gameObject.name + " is " + Mathf.Round(distance = hit.distance) + " feet away");
                    cameraPosition.transform.position = hit.collider.gameObject.transform.position;
                }
                else
                {
                    Debug.Log("Nothing was detected");
                    camPosition = 1;
                }
            }
            if (camPosition == 1)
            {
                cameraPosition.transform.position = playerCameraPosition.transform.position;
                cameraPosition.transform.rotation = playerCameraPosition.transform.rotation;
            }
            if (camPosition == 2)
            {
                cameraPosition.transform.position = hit.collider.gameObject.transform.position;
                cameraPosition.transform.rotation = hit.collider.gameObject.transform.rotation;
            }
        }
    }
}