Getting rid of ghost bullets

I created a rifle which shoots bullets. Each bullet is a small rigidbody with a collider set to continuous collision detection.
The problem is, when I launch the projectiles at a higher speed (it’s not even that much super fast) they pass through colliders on walls, even thick ones.
Now how can i fix this?
I already halved the time step to .01 and this helped some, but the bullets still pas through smaller objects like bottles. I could lower it even more, but i don’t want the performance to suffer. Can modern middle end computers even cope fine with fixed step doing like 500 frames per second?
I definitely want to keep bullets as physical objects so I definitely don’t want to use raycasting hitscans instead of real bullets.
The only thing I can think of, is to raycast between the bullet and the place it was during the last frame, if if there is something between, to teleport the bullet back to the collision location. But this seems like overly bloatly and ugly solution.
Thanks.

This is one of the annoying things about Unity’s physics engine. I’m afraid you’ll probably have to use raycasts. If its a wall, use instantiate a bullet hole at the point of intersection, if it hits something else, instantiate a used bullet prefab.

Scale can also affect collisions, if your objects are scaled (not just sized) differently the collisions suffer as a result.

The way I do it is to raycast, determine where the object would be in the next frame considering the speed that it is going, and if there’s anything in between, do whatever collision stuff I want to do at the point of raycast hit.

Use raycasts. For performance, Unity uses a discrete physics system. In other words, if the bullet moves 10 meters in one physics frame, and the bad guy was 5 meters away, the bullet will jump right through the bad guy.

You can change your physics timestep and fiddle with colliders all day long, but ultimately, the only real solution is going to be to use a raycast. It’s simple, it performs well, and it’s precise.