how to make a solid object?

my player is equipped with: mesh filter, mesh renderer, box collider(trigger is NOT checked), and a character controller. floors and walls are equipped with: mesh filter, mesh renderer, and a box collider(trigger is NOT checked)

so could someone tell me why my player goes through walls, please?

movement script:

var playerSpeed : int;

static var playerScore: int;

function Update () {

// amount to move player

amtToMove = (playerSpeed*Input.GetAxis("Horizontal")) *Time.deltaTime;

//move/translate the player

transform.Translate(Vector3.right*amtToMove);

}

As SpinalJack suggested, direct transform manipulation prevents collision detection.

As per your comment, I think you want 3d movement (left/right, forward/back), so try using the example script provided on the CharacterController.Move function reference page.

Make sure you have a CharacterController on the player object or it won't work.

Try moving your character by applying velocity-change forces:

//move/translate the player

rigidbody.AddForce(Vector3.right*amtToMove, ForceMode.VelocityChange);

Note that each AddForce adds the amount of velocity to current velocity, so you should use AddForce on each user's interaction, not on each frame. Also, in order to stop the movement you should compensate the current velocity:

//stop the player

rigidbody.AddForce(-rigidbody.velocity, ForceMode.VelocityChange);