How could I have a ball chooser menu?

I am making a ball rolling game, and I want to have different balls unlock as the character progresses. Some may be slightly quicker (or have different properties), and others may just look different.

How could I make a screen where the player could scroll though all of the balls, and they have a locked texture on them if they are locked, or be select able if not? When they are scrolling, a text box at the top of the screen should update to each ball, meaning that a ball is always selected. It would then display information about each ball, such as the name and speed.

I have all of the textures I need, but how could I implement a system to change between them in-game with their textures being visible (or locked where appropriate)?

Thanks,
–Matt

If you make the texture of the ball a Global Variable, you can set the texture based on what ball they choose. You could make a global boolean variable for each ball to check whether it is unlocked or not. I’m not sure about how to make a scrolling menu, but you could allow the user to move the camera left or right. Then you can use this to see which one they hit:

if(Input.GetMouseButtonDown(0))
	{
		ray = Camera.main.ScreenPointToRay(Input.mousePosition);
		if(Physics.Raycast(ray, hit))
		{
			if(hit.transform.tag == "Ball")
			{
				if(hit.transform.name == "NormalBall")
				{
                    //change the texture here
                }
            }
      }
}

This will sense which ball they click. You can change the tag and the name, or take out the tag completely.