Gravity and not falling through the world?

I have a terrain and a basic cube, what do I need to do so that the cube will fall due to gravity and stop for the terrain or other objects? I will likely have a few objects in the game at any time. I need the cube, or cubes to fall and not fall through the world, also for one cube to collide with other cubes. Also, if a cube falls on a slope such that the incline is great enough, it should roll or slide down the incline until it stops. At this point, I am thinking that isnt a feature in Unity and that I might have to code it in myself. Before I embark on that, thought I would ask about it.

Just put a rigidbody component on those objects that you would like to apply gravity and put colliders on the objects that you dont want to be “ghosts”. I think that is it. From here the PhysX engine will do the rest

Alright, so I feel very silly about this, but I was messing around with it and apparently by enabling the “convex” option in the mesh collider for the object, I now have the objects successfully staying on top of the terrain and not falling through… Thanks for your help!

If you imported the terrain from blender or some external tool into Unity ,

Try increasing the Scale of the terrain, and also note that colliders wont work if the size of the mesh is less than 0.5.

For more Detailed description, try creating a cube first and then import the terrain.
Change the size of the terrain corresponding to the cube.

Add Mesh Collider to the terrain, Add Rigidbody to the cube.

Then the Gravity will work fine.