Randomly pick asset from selection of assests

I need a script where you attach it to an empty game object and when you run the scene, the empty game object turns into a random game object from a selection of assets. eg, random game object can either turn into a ball, box or pencil. Does anyone know how to do this? And if you can make a script like this, can you make biased results like 50% chance for ball, 30% chance for box and 20% chance for pencil?

Also i have virtualy NO idea about scripting so if you can add the whole script and say what name i have to call it. It doesnt matter what type it is but i prefer C#.

The individual parts are Instantiate and Random.Range - please look at the script references and examples here on UA, vid/tuts, code snippets etc.

The empty gameObject need not turn into something else, but via Instantiate (choosing from a list) and Random.Range it can create one at runtime.