Moving Sphere Camera

OK I have a rolling sphere and I want a camera to follow it and have some nice mouse rotations without losing the spheres rotations. When I put in this though

public Transform sphere;
public float speed = 60f;
...

LateUpdate(){

            transform.RotateAround(sphere.position, new Vector3(0,1,0) , 
	               Input.GetAxis("Mouse X") * speed * Time.deltaTime);
}

the camera will just fall behind since it’s not constantly updating the position. Are there any kind of work arounds for what I’m trying to do? I’ve also tried making a child sphere of this sphere that would have the material renderer but I realized I didn’t know what I was doing when it wouldn’t even follow the parent.

I also tried making the camera a simple child of the sphere but then it rolls with it.

Try this:

using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
	public Transform sphere;
	public float speed = 60f;

	private Vector3 dir;

	void Start() {
		dir = transform.position - sphere.position;
	}

	void LateUpdate() {
		float rot = Input.GetAxis("Mouse X");
		if (Mathf.Abs (rot) > .01f) {
			Quaternion q = Quaternion.AngleAxis(rot * speed * Time.deltaTime, Vector3.up);
			dir = q * dir;
			transform.rotation = q * transform.rotation;
		}
		transform.position = sphere.position + dir;
	}
}

Note this code assumes the camera is positioned the right distance and angle in the Editor.