Player going through wall


I am making a small bumper car game. I have set my walls up as cubes with RigidBody and Box Colliders as shown in the picture below.

My bumper car object is configured as follows:

As long as my player object (bumper car) is moving fairly slowly, everything is good (bounces off the wall, and stays within the designated area).

However, when the wall is hit at speed, the bumper car simply passes through it and hovers out in the void.

I have tried using rigidBody, colliders and adding mass to both wall and player, but nothing seems to work.

Any help is much appreciated.

Edit: the script I use to control player movement is this:

using System;
using UnityEngine;
using UnityEngine.UI;

public class PlayerController : MonoBehaviour
    // public Text countText;
    // public Text winTexy;     
    public float speed;
    private Rigidbody _rb;
    private int count;
    private void Start() //run-once code
        _rb = GetComponent<Rigidbody>();
        count = 0;

    private void Update() {
        if (Input.GetAxis("Horizontal")>0) {
            transform.Rotate(0, 5, 0);
        if (Input.GetAxis("Horizontal")<0) {
            transform.Rotate(0, -5, 0);
    private void FixedUpdate() //physics code
        var accel = 50f * Time.deltaTime ;
        if (Input.GetKey(KeyCode.UpArrow))
            //Move the Rigidbody forwards constantly at speed you define (the blue arrow axis in Scene view)
            _rb.velocity += transform.forward * accel;

        if (Input.GetKey(KeyCode.DownArrow))
            //Move the Rigidbody backwards constantly at the speed you define (the blue arrow axis in Scene view)
            _rb.velocity += -transform.forward * accel;

        if (Input.GetKey(KeyCode.RightArrow))
            //Rotate the sprite about the Y axis in the positive direction
            transform.Rotate(new Vector3(0, 1, 0) * Time.deltaTime * accel, Space.World);

        if (Input.GetKey(KeyCode.LeftArrow))
            //Rotate the sprite about the Y axis in the negative direction
            transform.Rotate(new Vector3(0, -1, 0) * Time.deltaTime * accel, Space.World);


Hi @unity_ks1h_8hXJ3CIhA, yes, if you are going fast enough you’ll over shoot the wall colliders. Try the various collision detection methods in the Rigidbody settings. Also, if the walls define the play arena, then you can make their colliders much wider and offset them so that the side that faces the play inner area is flush with the wall - they are invisible, so you can extend them way back from the face of the wall. Make them wide enough you are guaranteed that your car generates a collision.