Now I know there are already plenty of established methods of detecting melee hits, but none of them seem to work for me.
Most of the articles are about detecting hits from player to player. My detection works to detect NPC to player.
A standard ray won’t work here because I don’t want players to stand on an enemy’s head, and a region3 won’t work because it’s not diagonal, and a normal touched event is too inconsistent.
Anyone got any ideas?
Those are really the only good ways to detect hits.
Regarding rays there is a module that is designed for melee if you haven’t seen it already here is is.
Alternatively you could try calculating the distance using .Magnitude but I don’t recommend that.
You can use rotated region3 if you want region3s that you can freely transform. Rotated Region 3 Module
The plugin looks good.