I was using metasound classes with send and receive trigger like Chris Murphy in this MetaSounds in UE5: From Miniguns to Music | Unreal Engine - YouTube . However, in UE5 Preview they doesn’t appear anymore on the metasound graph. So i dig into the sources and i found that. Do you have any idea tool or feature that can substitude to send and receive trigger ?
You promote to variable (Send) and call that variable when you want to (recieve)
True but it is not global. In the sense that before I could share variables between different metasounds, now I need to nest them after promoting them to graph input. Or am I missing something?
Ah! that’s exactly what i understood
No i think thats the intention with this change
My solution in Preview is to use one graph as a Metasoundmanager and drive master clocks and other global functions from that. The benefit is that I then only need to cast to one Metasound and game parameters can be distributed onwards from that graph. If you use control buses then this also becomes a handy “master” level for all of the graphs.
I was thinking on these lines too, but what happens if I have multiple sound objects inside different BPs? And I want their clock syncronized? I would need to distribute a clock via BPI and call it at event tick, but wouldn’t that be a risky thing from time allignment point of view?
Uploading: Screenshot 2022-03-17 at 09.48.20.png…
You can do something like this although I think it might be redundant as my understanding is that Quartz is the main clock and it doesn’t matter if you mod it in the BP/code or in the MS graphs. I also think that if you want to affect it you just send game params as float/int values from BP/code to the MS and then scale them to BPM or whatever unit you’re using. So far I’ve not really found any reason to have a main clock in a BP as you can just set the BPMs to match it’s ongoing tho and I assume there’ll be a need to figure this out in more depth eventually. Tbh, until UE updates the documentation it’s a bit unclear how Quartz/BP & MS are meant to communicate.
Quartz is separate from game tick btw. Think it’s in a Dan Reynolds video or a UE video somewhere. Edit… It’s in Richard Steven’s UE learning course on Quarz… Highly recommended even tho it addresses UE4 rather than 5.
Sorry… last bit… just tried by adding a MS that has quartz cast to it and one where I only matched the BPM and it syncs perfectly so there doesn’t seem to be a need to sync them outside of making sure that the BPMs relate to each other if you want time synced events. Again, caveat as I’m just figuring this out myself…
Ok cool thanks! I’ll dig into it.
Could be superuseful having it directly in the MS graph as node though. Although like this makes totally sense.
I tried to put in sync 4 different MS with same bpm, but different trigger events. To start them all in sync (e.g., start playing from next bar count) you need to setup a Quartz clock, subscribe to quant. events, AND very important, use the Play Quantized node, using of course the same clock. Triggering events with just a Subscribe to quant events node + event dispatcher, does not allign the clocks of multiple MS → it is like all MS have their own clock, and quartz acts then as a main conductor, alligning them to itself. Hope I explained myself
Here’s an alternate approach UE5 Metasound syncing BPM loops in game - YouTube
As you’re using different MS graph actors this solution might not be applicable but it may be useful as a reference.