Big problem with making a FPS game

Im making a FPS game and i made that yiu hold a gun that instatiates projectiles(bullets) that chech if possible and do damage if aviable. However i came into a problem: the bullets are just passing thorugh thin colliders. I found that increasing time step fixes this but even if i increase it by 0.01 the game starts lagging even on quad core 3.9GHZ CPU. Also i found fix for thisby raycasting but i want to make my game reallistic, not just if there is someone in font of the gun it kills him with no bullet travrl speed(not to mention sniping). I also found a fix by resizing colliders but then i must also increase bullet speed and i would be back on the beggining. Please i need help.

The simplest way to achieve what you are talking about would be to cast a raycast from the bullets forward point at whatever distance you feel would still seem realistic. The reason for your problem is that without the collision happening within a single frame, the game logic is never calculated. This means that if the bullet is traveling fast enough to pass through the object faster than a single frame renders the bullet will never collide. A small raycast will allow the bullet to see that it is going to hit and calculate the game logic from that. You can have any kind of on-hit prefab (bullet hole, blood splatter, etc…) happen at the hit point of the raycast so it still registers on the hit object, and not at the bullets physical location. Using this idea, you can still allow the bullets to be effected by gravity or any other random variables you want (like bullet spread from recoil).