how to aply diferent fbx models to prefab at runtime

I have created one prefab of cube which is moving in one direction.
now I want to apply Different characters to prefab at run time.
I want different animals with some animation like walking in one side are to be generated with each instantiation of a cube prefab.
So how to do it?
can anyone help me with detail description and code

I have found it very useful to set up systems to do exactly what you are asking. By keeping the model separate from the prefab that represents game logic for an entity, you can apply that logic to any number of different models without duplicating that logic in a prefab for each model. You also gain the benefit of maintenance free model importing. If you change the fbx, there’s no need to recopy it to another prefab as the dyanmic attaching of the model will always use the the most current model.

Here is a simple example of how to get started with such a system. Attach this class to the prefab you want models to be attached to. Then, assign your potential models to the ModelPrefab array in the Inspector. The example chooses models randomly, but you could write a more specific selection method if you need to.

public class PrefabShell : Monobehaviour {
    // Model that you can set on the prefab in the inspector, or via another script
    public GameObject[] ModelPrefab;

    public void AttachModelToPrefab(GameObject modelPrefab) {
	   // Create an instance of the desired model
	   GameObject modelInstance = GameObject.Instantiate(modelPrefab) as GameObject;
	
	   // The prefab shell should determine the model transform
	   modelInstance.transform.position = transform.position;
	   modelInstance.transform.rotation = transform.rotation;
	
	   // Attach the model instance to the prefab shell
	   modelInstance.transform.parent = gameObject.transform;
   }

   // Example usage
   void Start() {
	   AttacheModelToPrefab(ModelPrefab[Random.Range(0, ModelPrefab.Count)]);
   }
}