Why does my character walk through terrain?

In my top-down shooter my character seems to walk through mountains/hills/etc. For movement I am using:

transform.Translate(inputMovement*Time.deltaTime*moveSpeed, Space.World);

Where inputMovement is derived from player input. I have a rigidbody and collider attached to the character and have constrained the Y-axis position.

My way around the problem right now is simply to manually place box colliders around the level but this isn't ideal and can be time-consuming.

Any ideas?

I've sorted this now. Basically the capsule collider radius was too small and some of the character was "outside of it". I increased the radius and all works well now!

Do you have the Terrain Collider on your terrain? Or are the layers (for player and terrain if not both default) set to interact in physics properties?

Hi, did you apply a mesh collider to your character?