Hi,
The lack of any easy way to get a Parameter ID from a GUID is frustrating, so thanks for pointing it out - I’ve added it to our internal feature/improvement tracker. That said, here’s an example C# function that does a Parameter GUID to ID lookup:
FMOD.Studio.PARAMETER_ID ParamGUIDToID(FMOD.GUID guid)
{
FMOD.Studio.PARAMETER_ID paramID = new FMOD.Studio.PARAMETER_ID();
studioSystem.lookupPath(guid, out string path);
studioSystem.getBankList(out FMOD.Studio.Bank[] banks);
foreach (FMOD.Studio.Bank bank in banks)
{
bank.getEventList(out FMOD.Studio.EventDescription[] eventsDescs);
foreach (FMOD.Studio.EventDescription eventDesc in eventsDescs)
{
eventDesc.getParameterDescriptionCount(out int count);
for (int i = 0; i < count; i++)
{
eventDesc.getParameterDescriptionByIndex(i, out FMOD.Studio.PARAMETER_DESCRIPTION paramDesc);
if (paramDesc.guid == guid)
{
paramID = paramDesc.id;
}
}
}
}
return paramID;
}
I’d advise against using this lookup function repeatedly however, especially if your Studio project and banks are quite large. If you do use the script, or rewrite it in whatever language you’re using, let me know whether you run into any issues with it.