Dialogue System and FMOD, Event not Found

Hello. After a bit of trial and error, I had to come here for some help. Currently, I’m having problems playing voiceover sounds through the Dialogue System plugin. The error I’m getting is that the Event cannot be found.

I have contacted the developer of the plugin but he sadly didn’t have any solutions and said to try and contact somebody from FMOD. So here I am, asking for some help :slight_smile:

Some information:

  • All the sounds are assigned in their Bank
  • They have the Streaming Assets selected (was told to do that by the Dialogue System developer)

The error

EventNotFoundException: [FMOD] Event not found: ‘event:/Npc/Maurice’
FMODUnity.RuntimeManager.CreateInstance (System.String path) (at Assets/Plugins/FMOD/src/RuntimeManager.cs:1140)
PixelCrushers.DialogueSystem.SequencerCommands.SequencerCommandFMODWait.PlayDialogue (PixelCrushers.DialogueSystem.SequencerCommands.SequencerCommandFMODWait+VoiceData inVoiceData) (at Assets/Pixel Crushers/Dialogue System/Third Party Support/FMOD Support/SequencerCommandFMODWait.cs:78)
PixelCrushers.DialogueSystem.SequencerCommands.SequencerCommandFMODWait+d__7.MoveNext () (at Assets/Pixel Crushers/Dialogue System/Third Party Support/FMOD Support/SequencerCommandFMODWait.cs:44)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <1d5ae28f5ca3488dbddca7794af65eb1>:0)

I’m also going to quote the developer of the plugin as well

voiceData = new VoiceData();
voiceData.key = “Maurice_1_1”; // Technically in sequencer command: GetParameter(0);

eventPath = “event:/Dialogue/Dialogue”; // Technically in sequencer command: GetParameter(1, “event:/Dialogue/Dialogue”);
eventInstance = FMODUnity.RuntimeManager.CreateInstance(eventPath);

// Pin the key string in memory and pass a pointer through the user data
voiceDataHandle = GCHandle.Alloc(inVoiceData);
eventInstance.setUserData(GCHandle.ToIntPtr(voiceDataHandle));

eventInstance.setCallback(dialogueCallback);
eventInstance.start();
eventInstance.release();

At a glance, the issue appears to be that the wrong path is being provided when you are trying to create an event instance. The full path of your event is “event:/Npc/Maurice/Maurice dialogue 1”, but the warning indicates that “event:/Npc/Maurice” is what is being provided to FMOD.

I’m not able to tell exactly how FMODWait() works without the full source including method signature (feel free to post it here if possible), but I would guess that you’d want to make sure that the full event path is in fact being provided to FMODWait(), or that the two arguments are being combined to form the full event path.