FMOD and Fungus plugin issue


I am attempting to incorporate FMOD into my Fungus project and I am a bit lost. Fungus is Unity visual scripting tool best for point-and-click games. It helps me build quick prototypes and frameworks without code.

I created simple music piece in FMOD Studio which I control with single global Parameter called “Progress”. This parameter simply switches between loops using conditioned transitions.

In Unity I created GameObject “Music” with components FMOD Studio Event Emitter connecting to my Event and FMOD Studio Global Parameter Trigger connecting to my Progress parameter. I tested it using Play Event / Trigger on Object Start and it works.

Now I am trying to trigger these components in Fungus so I can control when each loop plays.

Fungus is basically flowchart with connected building blocks. Each block can have some simple script like Create Clickable Sprite, Show UI, Play Dialogue, Set Variable. Usually these commands work with other commands native to Fungus but for example I was able to connect Fungus to Cinemachine through Play Anim State command working with Unity animator. I thought that I will be successful with FMOD in similar fashion…

Fungus offers few command options that are applicable for this situation: Invoke Event (Static, Dynamic Boolean, Dynamic Float, Dynamic Integer, Dynamic String), Invoke Method and Call Method.

So I created New Block in Fungus flowchart and used command Invoke Event → Static Event. In New List I added my GameObject “Music” which gave me option to pick StudioEventEmitter in Function list and command Play (). This actually starts playing my music with initial parameter value = 0 when I start the game. (I found out that Event does not need any Play Event in Inspector. It is just somehow forced to start through this command.)

Now I wanna switch it somehow to another parameter value, but I have no idea how to do it. Under Invoke Event, Invoke Method and Call Method there are few functions that I tried but without success.

I am attaching screenshots of editor, hopefully some of you will be able to found some functions that could be useful in communicating with FMOD script.

Thank You in advance for any responses to this already quite long post.

Calling TriggerParameters() on a Parameter Trigger should be the way to go- these would be one-shot instantaneous parameter changes though. For example, in FMOD Studio I have a Global Parameter called “GlobalVolume” that controls the volume of all of my events. If I set that up in a Global Parameter Trigger like so:

Calling TriggerParameters() at a chosen time would then silence all audio. To turn audio back on I would need another Global Parameter Trigger like this:

Which when triggered will set everything back to normal.