How to detect Part hitting the player

Hello
What is the best way to detect when a fast moving Part (not necessarily travelling in a straight direction) hits the player?
I guess subscribing to the Touched event of the Part will be highly unreliable and some hits will be missed?
I was wondering whether to use in a loop something like GetPartsInPart, but I guess if I do it 10 times per second or something like this , it is possible to miss the exact moment when the Part hits the player and bounces off it?
In fact if the Physics engine detects the hit and bounces the Part off the player, why the Touched event is unreliable? (the engine knows that the Part hit the player during the physical simulation)

Thanks

Humanoid.Touched:Connect(function(hit)
    -- For any part that touches any limb of the humanoid
end)
2 Likes
local parts = part:GetTouchingParts()

for _, v in pairs(parts) do
if v.Name == character part you wanna check which touched then
--do the following code.
end
end

I think it should be an alternative though. If it’s not, please correct me.

1 Like

I did not know this, that is insane! Thank you! :slightly_smiling_face:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.