How to keep player character on top of a Rolling game object?

I want to keep my rigidbody character on top of a rolling game object where he jumps on and the game object will keep rolling and moving towards left. I tried using freeze rotation but the character still slides off on the rolling game object.

Here’s a sketch of my probem:

Create an invisible platform above the ball. Add a script to the platform so that if hovers above the ball.

public class PlatFormFloat : MonoBehaviour {

	public Transform ball;

	void LateUpdate () {
		transform.position = new Vector3 (ball.position.x, ball.position.y + ball.size.y / 2f, ball.position.z);