NullReferenceException

Hi
I use this tutorial: click

I I have this code:

    /*/
    * Script by Devin Curry
    * www.Devination.com
    * www.youtube.com/user/curryboy001
    * Please like and subscribe if you found my tutorials helpful :D
    * Google+ Community: https://plus.google.com/communities/108584850180626452949
    * Twitter: https://twitter.com/Devination3D
    * Facebook Page: https://www.facebook.com/unity3Dtutorialsbydevin
    /*/
    using UnityEngine;
    using System.Collections;
     
    public class FollowTouch : TouchLogic
    {
	public float maxDist = 1;
    public float speed = 1f;
    private Vector3 finger;
    private Transform myTrans, camTrans;
     
    void Start ()
    {
    myTrans = this.transform;
    camTrans = Camera.main.transform;
    }
     
    //separated to own function so it can be called from multiple functions
    void LookAtFinger()
    {
    //z of ScreenToWorldPoint is distance from camera into the world, so we need to find this object's distance from the camera to make it stay on the same plane
    Vector3 tempTouch = new Vector3(Input.GetTouch(touch2Watch).position.x, Input.GetTouch(touch2Watch).position.y,camTrans.position.y - myTrans.position.y);
    //Convert screen to world space
    finger = Camera.main.ScreenToWorldPoint(tempTouch);
     
    //look at finger position
    myTrans.LookAt(finger);
     
    //move towards finger if not too close
    if(Vector3.Distance(finger, myTrans.position) > maxDist)
    myTrans.Translate (Vector3.forward * speed * Time.deltaTime);
    }
    void OnTouchMovedAnywhere()
    {
    LookAtFinger();
    }
    void OnTouchStayedAnywhere()
    {
    LookAtFinger();
    }
    void OnTouchBeganAnywhere()
    {
    touch2Watch = TouchLogic.currTouch;
    }
    }

and

    /*/
    * Script by Devin Curry
    * www.Devination.com
    * www.youtube.com/user/curryboy001
    * Please like and subscribe if you found my tutorials helpful :D
    * Google+ Community: https://plus.google.com/communities/108584850180626452949
    * Twitter: https://twitter.com/Devination3D
    * Facebook Page: https://www.facebook.com/unity3Dtutorialsbydevin
    /*/
    using UnityEngine;
    using System.Collections;
     
    public class TouchLogic : MonoBehaviour
    {
    public static int currTouch = 0;//so other scripts can know what touch is currently on screen
    private Ray ray;//this will be the ray that we cast from our touch into the scene
    private RaycastHit rayHitInfo = new RaycastHit();//return the info of the object that was hit by the ray
    [HideInInspector]
    public int touch2Watch = 64;
    void Update ()
    {
    //is there a touch on screen?
    if(Input.touches.Length <= 0)
    {
    //if no touches then execute this code
    }
    else //if there is a touch
    {
    //loop through all the the touches on screen
    for(int i = 0; i < Input.touchCount; i++)
    {
    currTouch = i;
    Debug.Log(currTouch);
    //executes this code for current touch (i) on screen
    if(this.guiTexture != null && (this.guiTexture.HitTest(Input.GetTouch(i).position)))
    {
    //if current touch hits our guitexture, run this code
    if(Input.GetTouch(i).phase == TouchPhase.Began)
    {
    //need to send message b/c function is not present in this script
    //OnTouchBegan();
    this.SendMessage("OnTouchBegan");
    }
    if(Input.GetTouch(i).phase == TouchPhase.Ended)
    {
    //OnTouchEnded();
    this.SendMessage("OnTouchEnded");
    }
    if(Input.GetTouch(i).phase == TouchPhase.Moved)
    {
    //OnTouchMoved();
    this.SendMessage("OnTouchMoved");
    }
    if(Input.GetTouch(i).phase == TouchPhase.Stationary)
    {
    //OnTouchStayed();
    this.SendMessage("OnTouchStayed");
    }
    }
    //outside so it doesn't require the touch to be over the guitexture
    ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);//creates ray from screen point position
    switch(Input.GetTouch(i).phase)
    {
    case TouchPhase.Began:
    //OnTouchBeganAnywhere();
    this.SendMessage("OnTouchBeganAnyWhere");
    if(Physics.Raycast(ray, out rayHitInfo))
    rayHitInfo.transform.gameObject.SendMessage("OnTouchBegan3D");
    break;
    case TouchPhase.Ended:
    //OnTouchEndedAnywhere();
    this.SendMessage("OnTouchEndedAnywhere");
    if(Physics.Raycast(ray, out rayHitInfo))
    rayHitInfo.transform.gameObject.SendMessage("OnTouchEnded3D");
    break;
    case TouchPhase.Moved:
    //OnTouchMovedAnywhere();
    this.SendMessage("OnTouchMovedAnywhere");
    if(Physics.Raycast(ray, out rayHitInfo))
    rayHitInfo.transform.gameObject.SendMessage("OnTouchMoved3D");
    break;
    case TouchPhase.Stationary:
    //OnTouchStayedAnywhere();
    this.SendMessage("OnTouchStayedAnywhere");
    if(Physics.Raycast(ray, out rayHitInfo))
    rayHitInfo.transform.gameObject.SendMessage("OnTouchStayed3D");
    break;
    }
    }
    }
    }
    }

and I get:

NullReferenceException: Object reference not set to an instance of an object
FollowTouch.Start () (at Assets/Skrypty/FollowTouch.cs:23)

and

NullReferenceException: Object reference not set to an instance of an object
TouchLogic.Update () (at Assets/Skrypty/TouchLogic.cs:61)

What is wrong?

You’ve likely change the tag on the main camera. It must remain at its default…‘MainCamera’ I think…for the Camera.main shortcut to the main camera to work.