Hey everyone! So I have created a music system that uses Timesynth to make sure loops and events are triggered according to musical timing (bars, beats etc). The game I am doing audio for currently has many different levels and I wanted to try and make some sort of seamless playback so there is continuous music across levels. On the posts I have read about this topic, people often mention level-streaming or game instance. However, I do not know if this would work when I play music using Timesynth. Does anyone know? Or does anyone know how it works in general?
So the way I have it set up is with these trigger boxes that control which loop to play or if the music should end etc (So if the player goes from one box to another the music changes on the next beat/bar).
So in this case, MusicStartPlay triggers the StarMusic Custom Event for the music to start.
Now, if the player enters one of these boxes and the level changes BEFORE the music ends, the music cuts off abruptly (as one would expect). Is there any way that the music could continue playing through the level-change? And is there a way to do it that would still allow me to trigger different musical segments using triggerboxes in the levels? Also if anyone has any better ideas on how I should approach this problem that would also be much appreciated.
Currently using UE4.23.1 on a MacBook Pro.
Cheers!
Level streaming is the way to go.
If you put the stuff you want held constant in the persistent level, it wont be affected by other sublevels loading and unloading.
Another, easier, way to keep the sound constant that usually works ( but I don’t if it will in this case ) is to make it a UI sound:
So, TimeSynth… it’s pain and has a lot of work that needs to be done before it’s production ready. It’s really cool, but there’s a lot of workarounds you need to do.
With what you’re doing, yes, you’ll need to implement level streaming. The biggest issue I have with TimeSynth right now is there’s no way to stop a sound then start it again without it getting all buggy. I know in the 4.25 release notes they said “various improvements to TimeSynth” so, you know, that’s helpful. I haven’t had time to see what’s changed yet, but I actually have to do a tutorial for my musician, and I’ll be posting that on youtube, but it’s not something I’ll be doing until I work with it in 4.25 to see what’s changed.
Instead of having a TimeSynth component in your level blueprint, have it as a separate actor which is spawned by your level BP (or some other actor), typically your persistent level. Also, make sure it’s spawned in your persistent level or it will get removed when you switch levels.
There’s a bunch of good tutorials on youtube for level streaming, but if you need anymore help with it or with TimeSynth, let me know.