Programmer Instruments and Profiling

Hi there,

I’m using programmer instruments for the dialogue on a Unity game. It all works but when profiling the game, I can’t simulate the dialogue callbacks which makes mixing much more complicated. Is this the expected behaviour?

I assume this happens because the audio is not “native” to fmod since it is on a different set of folders. I’m using audio tables to reference the audio to fmod.

So, in summary, is there a way to use programmer instruments and also be able to profile a playing session and then simulate it for easier mixing?


Hi Javier!

I’m doing a bunch of dialogue and programmer sounds in my own game, maybe I can help.

Are you trying to profile via Sandbox Mode, or in Unity? I’ve hooked up some bunch of debug keys to trigger specific audio files - very similar to the Update loop in the scripting example:
Those should play in both the profiler and the mixer when running Unity with live update on.

I don’t think it works in FMOD Studio’s sandbox mode, though.


Thanks for your answer.

I am profiling with the fmod profiler so no sandbox or Unity profiler. So it is just me playing in the Unity editor while connected to Fmod and recording the profiler session. My main idea was to use the “Simulate” feature within the profiler to then listen to the play session and re-balance the mix.

I have to mix the game for different devices so being able to use a few representative playing sessions recordings would be very time efficient to tweak the mix for each of them.

The problem is that when I do that, all audio events work as expected but not the dialogue because is using programmer instruments. Basically, I think that when you record a profiler session in fmod, it doesn’t keep a notion of which dialogue file was called within an audio table. You can see the dialogue event being called in the profiler but it will produce no audio when simulating since I think it doesn’t know which audio file to call, which is a shame.

If I understand correctly, you are using debug keys to trigger audio files and those would play on the profiler but can you then play that recorded profiler session with the simulate mode and hear the dialogue?


Ah, I see what you mean. I confess I honestly didn’t know about “simulate” mode until today! I had always done my mixing the slow way before.

I think you’re correct - I tried it out with testing a few events, and looking at my code replay I’m not seeing the file name string being passed. My best guess is that it’s because the audio table Callback is coming from the fmod studio event, whereas the Profiler is recording incoming commands.

The good news is that you still get some of the benefits of simulate mode in real time. That is, you can still adjust things like volume and EQ on your event and mixer channels, and audition the dialogue events without having to rebuild the bank. To address your multi-device concern, another workaround I can think of is to take some representative dialogue samples and make a more basic fmod event from them using a multi instrument.

Yes, that was actually the workaround I had in mind, which I guess confirms that programmer instruments and simulating profiler sessions don’t get along very well. It is a shame because it is a very powerful feature.

On the programmer instrument itself, you can drop an audio table and audition your processing just to check how it sounds. But this doesn’t seem to work with simulating, it just produces no audio.

Could Fmod people confirm that this is how it works band there isn’t a better workaround?

What has been said is correct - the API calls captured in Live Update sessions do not contain any key strings for programmer instruments, so they will not play back the same as they did at the time of recording. This would require a custom API capture solution. Using placeholders might be the best currently.