How do I make collisions with fast moving bullets?

I am trying to create a fake / realistic bullet system. Basically, I don’t need it to be perfect, but do not want it to be just a raycast that hits the target immediately. I currently have things working up to the point where the bullet should hit its target.

The issue that I am facing, is the bullet often flys right through the target and doesn’t register with its part.Touched event. So lets say I’m aiming for the upper or lower torso; Not moving my character or camera; I press LMB; half the time the bullet doesn’t even register it has hit something.

Slowing down the bullet makes it possible for the bullet to hit every time, however its a bullet, and should be fast. cutting the speed in half to 500 is okay and seems to hit every time, but 1000 would be best.
I used to have it on a raycasting system; But I want the bullets to be somewhat visible before hiting the target.
Beyond that, I’m unsure of how to achieve this, and is why I have come to the community for some help :slight_smile:

local bv = Instance.new("BodyVelocity");
bv.Parent = bullet;
bv.Velocity = barrel.LookVector * 1000; 

The code above is really all that’s needed to show how I’m achieving my bullets movement; But maybe there is a better way? I’m pretty sure that its moving so fast, that between frames, its skipping right through the target.

Maybe some others that have made fps games could guide me through the best way to achieve (somewhat) realistic bullets?

If more info is needed, I would be happy to provide it.
Thanks for your time.

I think FastCast can help you.