If I’m being honest, I know you wrote your entire framework over the fact that, it should be using the .Touched connection, however… there are plenty of better ways to do this:
A.) Region3’s. B.) Raycast
If you’re looking for super-accurate hitboxes, check out this module somebody made.
the .Touched connection event is very insecure, not 100% reliable, and overall… is just really bad, so I suggest you use one of these alternatives instead. Best of luck!