Download

Detecting collisions with controller

I want to detect when a physics object is close to my controller.

I made a “box collider” called “RH_Collider” as a child of my motion controller, then added a “OnComponentBeginOverlap” event that simply prints out the name of what it’s colliding with.
The box collider is significantly larger and can verify that it contains the controller in viewport mode.

On my RH_Collider, I checked “Generate overlap events” and used collision preset “overlap all.”

Then I made a simple sphere that simulates physics, also checked “Generate overlap events” and set it to Block with WorldStatic/WorldDynamic, and Overlap with everything else.

When I run in VR, and try to touch the sphere, it pushes the sphere away…but it never generates a collision event. What have I done wrong?

Second question: It also baffles me why my controller mesh is able to push the sphere away, because the Motion Controller Component and its associated Static Mesh are both set to “overlap all” in collision presets (eg, not block anything)…yet it’s very clearly using the static mesh of my motion controller to push the ball away.