I have scouted the forum looking for similar posts and it’s rather overwhelming how common this problem is. In short, I have a 5 stems music system and upon first booting the game, when no data has been cached yet in the computer, it is extremely common for the layers to start off sync from one another.
Because streaming assets don’t have an API implementation, it’s proving particularly difficult to fix this issue. Here is what we have tried or looking into or things that we just cannot do:
- Tried a scheduled delay on starting the music event = failed
- Scheduled delay on the System streaming = to be verified, but I doubt it will work cause I cannot push it much further than the 8129 default samples.
- Cannot merge music stems into a multichannel wav file due to the high complexity of the music implementation.
- Cannot pre-load music assets into memory due to file size and memory budget constraints. If we had been shipping only on PC I might have taken this route but our game is multi-platform.
I wish there was a way to pre-load a small chunk of streaming assets into memory. I think it should be added as a feature for future versions of FMOD. It could be controlled in Studio directly in the encoding options.
Any more insights into this issue would be helpful. Thank you.