How can I pause force feedback?

I’m currently trying to implement the pause system in our game. It’s possible for the player to pause the game while there is a looping force feedback occurring. I want to be able to stop this shake while paused and resume it when unpaused.

I think it goes without saying (but I’ll say it anyway) that I’m looking for a way to do this without the pause system having to communicate with the other gameplay systems that are causing the rumble i.e. I want “pause all rumble” and “resume all rumble” behaviours.

If it matters, I’m using the “Client Play Force Feedback” Blueprint node.

Thanks.

Hi ddbrown30,

Implementing a pause menu by using a Widget Blueprint is the way we recommend doing this. If done in this manner, all force feedback will be stop when Paused and then resume when Unpaused.

Here is the setup I test:

An actor that uses Force Feedback.

68164-pause01.png

Player Controller pausing the game and calling the Widget.

Widget unpauses on click and removes itself.

This should work with the Client Force Feedback in the same way.

Let me know if this works for you or not. If you have any questions please feel free.

Cheers,

TJ

I’ll check this out as soon as I get a free moment. We’re not using UMG for our UI. Will that be a problem?

It may be. UMG is specifically designed for this type of behavior. Let us know what results you get.

Okay, this is a bit weird. So I’ve just got around to trying this out. It worked! But then I tried disconnecting it and trying again, and it also worked. It seems that just calling SetGamePaused is enough to properly pause all of the rumble, which was not the case when I was testing this a month ago.

Now, I wouldn’t put it past me that I was doing something weird with my tests before, but were there some changes to the pause system in the last patch? Also, is this the behaviour that you would expect?

I’m going to do a bit more testing with it just to make sure it’s working for all our cases, but I always find it a little worrying whenever things just start working on their own.

There was some minor alterations to the Pause system in 4.10 but nothing that ‘should’ have effected this. But yeah, that is the intended behavior.

I figured out the problem. It’s the difference between an XB1 controller and an Xbox 360 controller. Pausing the game when using an XB1 controller does not pause the rumble.

To me, this indicates an implementation problem on your side or a bug in the XB1 driver. Could you please confirm if that you’re seeing the same thing?

I have the same bug with the Vive controllers, as well.

I just tested this in 4.10.1 but I didn’t get the same result. The rumble paused correctly for me. Did you test it in that version?

Also, is your controller using the latest driver?

We’re using 4.10. We haven’t yet grabbed the hotfix version.

For the Vive, I’m using the latest version of the SteamVR beta and I updated the firmware on the controllers about 1 month ago.

For the XB1 controller, I just tried to update the driver in device manager and it says that I have the latest version.

Give 4.10.1 a try if you can.

If you still experience the issue with the XB1 controller (at that point it may be your setup), please create a small test project for us to test in-house OR recreate my setup from above and test it there.