title: Unity "Unassigned Reference Exception"
body: <p>I'm super new to coding and to this forum so forgive me if I break any taboo's here. I'm simply working on a 3rd person camera, just kind of messing around but I keep getting </p>
  
  <blockquote>
    <p>UnassignedReferenceException: The variable CameraFollowObj of CameraFollow has not been assigned.<br>
    You probably need to assign the CameraFollowObj variable of the CameraFollow script in the inspector.<br>
    CameraFollow.CameraUpdater () (at Assets/Scripts/CameraFollow.cs:68)
    CameraFollow.LateUpdate () (at Assets/Scripts/CameraFollow.cs:62)"</p>
  </blockquote>
  
  <p>I've created an object for my camera to follow and placed it on the model. Then moved the object to what I believe to be the correct field but the issue still persists. </p>
  
  <p><a href="https://cdn.discordapp.com/attachments/579458237938532352/616496662059286537/unknown.png" rel="nofollow noreferrer"><img src="https://cdn.discordapp.com/attachments/579458237938532352/616496662059286537/unknown.png" alt=""></a></p>
  
  <pre><code>using System.Collections;
  using System.Collections.Generic;
  using UnityEngine;
  
  public class CameraFollow : MonoBehaviour
  {
      public float CameraMoveSpeed = 120.0f;
      public GameObject CameraFollowObj;
  
      Vector3 FollowPOS;
  
      public float clampAngle = 80.0f;
      public float InputSensitivity = 150.0f;
      public GameObject CameraObj;
      public GameObject PlayerObj;
      public float camDistanecXToPlayer;
      public float camDistanecYToPlayer;
      public float camDistanecZToPlayer;
      public float mouseX;
      public float mouseY;
      public float finalInputX;
      public float finalInputZ;
      public float smoothX;
      public float smoothY;
  
      private float rotY = 0.0f;
      private float rotX = 0.0f;
  
      // Start is called before the first frame update
      void Start()
      {
          Vector3 rot = transform.localRotation.eulerAngles;
          rotY = rot.y;
          rotX = rot.x;
          Cursor.lockState = CursorLockMode.Locked;
          Cursor.visible = false;
      }
  
      // Update is called once per frame
      void Update()
      {
          float InputX = Input.GetAxis("RightStickHorizontal");
          float InputZ = Input.GetAxis("RightStickVertical");
          mouseX = Input.GetAxis("Mouse X");
          mouseY = Input.GetAxis("Mouse Y");
          finalInputX = InputX + mouseX;
          finalInputZ = InputZ + mouseY;
  
          rotY += finalInputX * InputSensitivity * Time.deltaTime;
          rotX += finalInputZ * InputSensitivity * Time.deltaTime;
  
          rotX = Mathf.Clamp(rotX, -clampAngle, clampAngle);
  
          Quaternion localRotation = Quaternion.Euler(rotX, rotY, 0.0f);
          transform.rotation = localRotation;
      }
  
      void LateUpdate() 
      {
          CameraUpdater();
      }
  
      void CameraUpdater() 
      {
          Transform target = CameraFollowObj.transform;
  
          float step = CameraMoveSpeed * Time.deltaTime;
          transform.position = Vector3.MoveTowards (transform.position, target.position, step);
      }
  }  
  </code></pre>