Camera not following player with script.

using UnityEngine;
using System.Collections;

public class CameraController : 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;
	}
}

Have you tried just attaching the Camera to the Player object?

attach your camera to cam gameobject via inspector and do the same for the player

public class CameraController : MonoBehaviour 
{
    public GameObject player;
    public GameObject cam;

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