Event not found when moving from Unity 5.6.3 to Unity 2017.4.15


Since last update of MacOs only allows users to run 64bit apps I have been forced to update the Unity version of my game from 5.6.3f1 with FMOD 1.10.10 to Unity 2017.4.15f1.

All the events works fine but all the events/sound (I don’t know the accurate name for this) inside the programming sounds/audiotable aren’t played, instead when trying to play I get “EventNotFoundException: [FMOD] Event not found ‘ENGAccessibility/Strings/Menu_Title’”.

This fact sounds weird to me because when I open the menu I only have the localization id “Menu_Title” and I ask all the possible combinations of prefix to the audiotable until it says the full path (prefix+localizationId) exists in the audiotable. So if the event doesn’t exists it shouldn’t say me "the full path “ENGAccessibility/Strings/Menu_Title” actually exists.

Do I misunderstood something? Is there any additional step I should do when moving between versions?

Other options I tried without luck:

  • Remove files from my build path.
  • Remove files from my streaming assets folder.
  • Update to latest minor version 1.10.18

Any help will be appreciated.

Could you confirm that each event string is prepended with event:/? So the event path should be event:/ENGAccessibility/Strings/Menu_Title.

If this isn’t the issue, is it possible to post the code you are using to get the entries from the audio table?

In the old version I didn’t handle this for the audiotable lines.

However I forced the prefix to “event:/” […] and it doesn’t work :frowning:

Have you any other idea?

Are you able to post the full code of how you’re getting entries from your audio table? We may be able to narrow down what’s happening there.

Sorry @richard_simms I cannot share the code, since the code is sparse and I will finish sharing the half of the project code.
But after some test, I find that the method that triggers all the exception is FMODUnity.RuntimeManager.GetEventDescription for both the audiotable events and Emitter.

Is there anyway to bypass it?

I don’t think bypassing the GetEventDescription call will solve the issue here. The error is saying it can’t find the event, which could be down to banks not being loaded or not finishing loading, or that your strings aren’t matching. Without a reproduction it’s difficult to say where this could be happening.

After too much playing with the intellisense i find a combination that makes it work.

Instead of using " RuntimeManager.GetEventDescription(eventName);" to fill an EventDescription struture I used “RuntimeManager.StudioSystem.getEvent(eventName, out _eD);” and it worked for both events and audio tables