Roll a ball script issue!

While trying to follow along with the “Roll A Ball” tutorial, I reached a problem when it came to creating a third person camera. When i implemented the script on the “player” the sphere flew straight upwards and came back down. Sometimes the sphere would go through the floor when it came back down. I went back to check the script and it looks fine to me but I can’t find out whats causing this. This is all the code in my script:

using UnityEngine;
using System.Collections;

public class Camera_Controller : MonoBehaviour 
{
	public GameObject player;
	private Vector3 offset;
	// Use this for initialization
	void Start ()
	{
		offset = transform . position;
	}
	
	// Update is called once per frame
	void LateUpdate () 
	{
		transform . position = player . transform . position + offset;
	}
}

can someone tell me what I am doing wrong?

P.S. I am not an experienced programmer so I will better understand simple answers.

Change your offset vector calculation to this.The code currently you are using is not making any gap between the player and the camera

using UnityEngine;
using System.Collections;
 
public class Camera_Controller : MonoBehaviour 
{
    public GameObject player;
    private Vector3 offset;

    // Use this for initialization
    void Start ()
    {
        //Offset is the distance between camera and player which should be maintained all the time
        offset = transform.position - player.transform.position;
    }
 
    // Update is called once per frame
    void LateUpdate () 
    {
        //Keep camera always away from the player position
        transform.position = player.transform.position + offset;
    }
}

Good Luck…