How to set rumble on specific hand

Hi, I’m using the VR template (output on Oculus quest) and inside a blueprint I want to trigger haptic effect when inside an overlap occurs. So, I created an effect curve and assigned it to the “Play Haptic Effect” node but, it doesn’t work.

What am I doing wrong? My both controllers are used during the test (since I ready haptic feedback may not work if one of the controllers is in standby). My overlap trigger is working and I tried another effect curve from the template itself (to ensure it’s not a problem with the curve).

I found a workaround by calling the Rumble Controller function in the BP_MotionController (Content > VirtualRealityBP > Blueprints). It’s not clear why I do need to go to this BP to make it work. But then, I don’t understand how I can set rumble to the proper hand that’s doing the overlap.

Thanks in advance for your suggestions and answers!

Hello.

If you are using the vr template, then in the Player blueprint you should have Left/RightController stored as variables. Choosing one of these will allow you to add overlap events from the variable details panel. This way you should be able to specify which hand is firing off overlap events.

You can add the rumble event by choosing the Left/Right controller variable and choosing the rumble event.

Hope this helps.

1 Like

Hi Krishcrush,

thanks for your great suggestions!

I was indeed able to trigger the rumble controller function using the variables you mentioned from within my blueprint.

The overlapping events on those variables didn’t seem to do anything but I managed to distignuish the left/right by attaching a boolean to the Grab / Release Actor function (wheren the InputAction GrabLeft and Grabright is applied) and check whether they are set. It’s not as accurate as I want it to be (since they both can grab something but I need to know which side is colliding with the object from the blueprint) but for now, it’s OK.

Hello, I seem to be having the same issues that you had but, I am also having trouble getting it to work off the Rumble Controller Actor !

Here is what I have but I can’t seem to get it to work.

It’s been some time I made this. It was just for a prototype so it’s not award-winning code :slight_smile:
Anyway, here’s roughly how I solved it:

Inside the MotionControllerPawn I created a few variables (booleans) to easily fetch the hand that is used to grab.

I think I then created a function in the function library which I can call anywhere in my blueprints whenever I need to have rumble on an event.

Through this function I can set the vibration intensity, whether it should loop (keep rumbling) and whether I want to apply rumble on both hands (or on a specific hand). This RumbleController function is in the BP_Motioncontroller.

But again, it’s been some time so I don’t actually recall exactly how I solved it. We don’t use the VR template from unreal anymore. I hope this could help you.