Hello,
This is an issue that has stumped our team so we’re asking here in case someone might have more in-depth knowledge!
We have been getting reports from a small number of players (on Windows) that a specific character’s voice lines never play in our game. It’s always the same character and restarting the game doesn’t seem to fix the issue for these players.
We are using Programmer Sounds with an Audio table similar to the set up in the scripting examples.
We’ve not been able to reproduce the issue, but we don’t think we are reaching the channel count limit and surely the voice lines would start to play again in a situation where we were below the limit again.
Does anyone have an idea what could be causing this sort of issue?
Depending on how the event, programmer instrument, and script are set up, there could be any number of causes. They’d generally fall into a few broad categories though:
- Voice stealing/virtualization due to voice limits, or event/bus instance limits
- The event/instrument are unintentionally attenuated, or spatialized and unintentionally placed far away from the listener
- The bank/audio table asset aren’t loaded properly at runtime
- The script playing the event and providing the programmer callback are wrong somehow
It’s unfortunately difficult to diagnose the problem exactly without being able to reproduce it or knowing the specifics of your project. For the voice limit/virtualization possibility, you can set the event priority to “highest”, which will ensure that all voices played by that event never virtualize.
You may want to record a profiler session of general gameplay, just to identify what kind of voice counts you reach, and whether there are any voices or event instances that are unintentionally persisting that might contribute to approaching the voice limit.
That said, if you’re able to turn up any more info, please feel free to let me know!
Thanks for the explanation! Helped me narrow down where to look.
I’ve done some more digging and it seems to be an error with failing to pass a valid key to FMODUnity.RuntimeManager.StudioSystem.getSoundInfo()
So not a directly FMOD related issue as far as I can tell
Happy to hear that you managed to narrow it down - let us know if you run into any further issues.