Hey! There’s really nothing wrong with using .Touched these days. Just filter out bad events. If the hitbox is large, you can just listen out for say HumanoidRootPart changes ![]()
If you really do need a 3rd Party solution there’s a lot out there from TouchedPlus to ZonePlus. These days I rely on Touched and the Spatial Query API. For context my module was made to have raycast speed on a spatial query. But it had lots of limitations (I only built it for my projects needs) and required a slightly more advanced user to understand how to dial it for their usecase*.
*and if it was right for their usecase.