We’re struggling with the FMOD_STUDIO_TIMELINE_NESTED_BEAT_PROPERTIES. There is a guid included, but how do we know which event this guid is related to? Because it is a different guid than the one of the event description.
Or is there a way to get the event description of the nested event?
Hi sorry for the necro but as far as I can tell this is the most recent discussion for nested beat info in Unity. There is something wrong with the eventid field in the nested event data. I have a guid from a nested event, similar to the OP. When invoking the FMODUnity.RuntimeManager.StudioSystem.LookupPath function on it, I get [AUDIO] FMOD error: ERR_EVENT_NOTFOUNDwhich is already strange since I’m calling this function directly on an eventID field that FMOD just handed me in the current callback. This doesn’t seem to be an issue with pointer marshaling either, since the propertiesfield doesn’t appear malformed. When I got to my FMOD studio project and search for this guid, it shows a path to the nested event that I would expect:
HOWEVER, I’ve copy/pasted all of the guids of all the events AND all the tracks in both the parent and the nested event and none of them match the searched guid - the one I got directly from the nested beat properties callback. When I Export GUIDs and search the exported text file, the event guid is not present. How can I find what specifically this guid is referencing? FMOD hands it to me and then immediately tells me its not valid. The studio browser can find it, but it doesn’t actually match anything in the project. Where is it coming from? And more importantly, how do I infer this phantom nested GUID for the rest of the events in my project so that I can actually reference them in Unity?
I’m on FMOD 2.03, Unity 6.0.62f1. Relevant code snippet: [AOT.MonoPInvokeCallback(typeof(EVENT_CALLBACK))] public static RESULT OnFMODTimelineEvent(EVENT_CALLBACK_TYPE callbackType, IntPtr instancePtr, IntPtr paramPtr) { switch (callbackType) { case EVENT_CALLBACK_TYPE.NESTED_TIMELINE_BEAT: { var parameter = (TIMELINE_NESTED_BEAT_PROPERTIES)Marshal .PtrToStructure(paramPtr, typeof(TIMELINE_NESTED_BEAT_PROPERTIES)); AudioManager.CheckResult(RuntimeManager.StudioSystem.lookupPath(parameter.eventid, out var path)); Debug.Log($“GUID: {parameter.eventid} | Path: {path}”); if (broadcastGuids.Contains(parameter.eventid)) BroadcastBeat(parameter.properties); } break;
Thank you for bringing this to our attention. I have been able to reproduce the issue. I have passed this onto our development team to investigate further. Unfortunately, I do not have a workaround.