Relative Velocity?

I am currently making a VR game in which you can punch things, and I used getting the motion controllers velocity to determine to do damage. Problem was, if the player walked, it would register the motion controllers velocity since it was world space. So is there a way I can make it relative to the player?

Subtract the players velocity?

In this case, you likely cannot directly.

Like the previous comment said, you could theoretically subtract the camera’s velocity, but because that velocity could indicate a twist of the body (during a windup or follow-through of a punch, for example), it does not accurately reflect the true movement of the hand.

In fact, if your hand stood still and you removed the velocity of the camera while it moved forward, you might end up providing a non-existent velocity to the hand as a result.

For teleport movement, I might just make the hands not create physics actions until the teleport is complete.

For joystick locomotion, or when standing still you might want to try applying a minimum velocity to allow any effect.