Global Parameter Controller

I wanted to provide a global parameter to the game engine in order to handle the controller shaking from FMOD (by linear automation or other modulations). I know that global parameter communication is intended to be used FROM ENGINE TO FMOD but I didn’t found another way so I made a trick (as you can see in my example FMODShakeTest.zip - Google Drive). It works well and it’s definitely useful BUT when I have to validate the project for some reason STUDIO detects the key automation in the key event as invalid and erase it. Anyway, creating this system does’t make STUDIO ask you for a validation, but if you do the validation process it finds the error. Is this an issue with the validation? Or am I doing this in a completely wrong way?
(Please check the example to understand, thank you)

It should not be possible to automate a global parameter by anything other than another global parameter. This is definitely a bug but at which point this behaviour should not be allowed (the validator kicks off when any automation is done on the command instrument pointed at a global parameter) will need to be investigated.

Thanks for bringing this to our attention.

In the meantime, the best thing would be to utilize eventInstance::getParameter and system::setParameter in runtime code to grab a local parameter’s value and set the global parameter to be the same value.

Oh nooo! Now the global parameter which is used to set the amount of controller shaking in real-time is checked every frame without knowing which event is modifying it. And it’s working without issues… I cannot check every frame all the playing event instances only to handle the controller shaking. Maybe a new parameter type (like global) specifically designed to handle an FMOD → Engine communication could be a great addition to a future release? Or you have other suggestions? Anyway I’m on Unreal 4

Sorry I’m not sure I understand. Are you using global parameters to pass a float to the game engine and then using the game engine to drive the controller vibration?

There is already a feature available using the FMOD Core API called FMOD_PORT_TYPE_VIBRATION that you can use to drive the vibration. You can read more in our documentation:

https://www.fmod.com/resources/documentation-api?version=2.02&page=core-api-system.html#fmod_port_type

Yes this is exactly what I’m doing. Programmers entirely rely on unreal integration and blueprints, is the core api usable/accessible without modifying the default integration (like on top of it)?

I’ve been informed that the vibration port is a PlayStation 5 exclusive feature, so your current setup of pulling values from a global parameter appears to be the best option.

It currently isn’t possible to access Core API functions from Unreal Engine blueprints so you will need to rely on either coding or the available functions of getting global parameter values.

If you are finding the setting of the global parameter via command instruments a bit too sudden, you might want to add a small amount of seek speed to the global parameter.

Yes I noticed too :frowning:

Got it

Yep, already set it up, thank you for the suggestion and for the support Richard!