Hello.
Our last game was in Wwise.
We had 40k+ sounds.
An absolutely crucial function of the Wwise profiler when dealing with that number of sounds was knowing which Game Object had fired the Event in the profiler.
Based on my digging, I do not see a way for the FMOD Profiler to display what entity/Game Object has fired a given FMOD Event.
What am I missing? does this feature exist or does the FMOD Profiler not convey any information about what fired an FMOD event, only that it has and details around that Event playing back?
Thanks!
Unfortunately we don’t currently have a way to register game objects with the FMOD Profiler. I can certainly see why you would need such a thing- I will pass on a suggestion to the Dev team to introduce some sort of equivalent.
In the meantime, you could potentially set a unique parameter value on each event that plays, and use that as a means of identifying an event’s corresponding game object? For example:
- Add a new parameter ranging from 0 to 999
- In your game engine, associate each event instance with a game object by setting the parameter to a unique value
if (Common_BtnPress(BTN_ACTION1))
{
FMOD::Studio::EventInstance* eventInstance = NULL;
ERRCHECK( explosionDescription->createInstance(&eventInstance) );
ERRCHECK( eventInstance->setParameterByName("Object ID", 1) );
ERRCHECK( eventInstance->start() );
ERRCHECK( eventInstance->release() );
}
if (Common_BtnPress(BTN_ACTION2))
{
FMOD::Studio::EventInstance* eventInstance = NULL;
ERRCHECK( explosionDescription->createInstance(&eventInstance) );
ERRCHECK( eventInstance->setParameterByName("Object ID", 2) );
ERRCHECK( eventInstance->start() );
ERRCHECK( eventInstance->release() );
}
- Now if you record a profiler capture in the lifespans view, selecting an event instance will show you the corresponding Object ID parameter value in the parameters list
With this approach you should be able to identify up to 1000 game objects per event instance. If you can give me more information on what game engine you are using, perhaps I can give you more specific recommendations on how you could implement this in your engine?
1 Like