Thanks for uploading your project again, I’ve been able to get it working with no fuss this time.
The issue is that the Studio System isn’t being updated at all. Certain actions can take place without the Studio system updating, like loading data or playing audio (which is why the Core API is playing a sound without issue), but most API calls are enqueued into a command buffer, and then executed asynchronously on a separate thread when you call Studio::System::Update
. In this case, pretty much all the calls to _eventInstance
are enqueued but never executed, which is why the event never actually plays.
The appropriate call to add here for FMODForFoxes appears to be FMODManager.Update();
. By adding it once, just after _engineInstance.Start();
, all the prior API calls (event instance creation, parameter setting, starting) are executed, and I’m able to hear the event’s audio as the Studio system has actually started audio playback. Typically updating is set to be tied to a game/application’s main update loop - as such, I would recommend creating some kind of update loop to call FMODManager.Update()
in so that FMOD processes your API calls appropriately. FMODForFoxes also recommends doing so in the “Playing some tunes!” section of their readme.