Zoneplus: it requires the part to be cancollide off, but I need a collision check for solid parts and zoneplus doesn’t work for that
Raycast hitbox / ClientCast: let’s say I have lava, i would have to make a million DmgPoint attachments to it and what if the damaging part is changing size?
It works alot like raycasting except it uses the collision of a basepart instead. Another solution is using raycasts for each corner of the basepart. But overlap params are far easier to use
Using spacial query APIs every Heartbeat will have a performance cost compared to .Touched. As always, physics is generally more performant done on the client, and should be done wherever security is not your concern.