'Bus Stop All Events' node repeat call issues

Hi, I call this node on a number of buses when my player dies in game, but every second time I call the nodes the results appear to be delayed, resulting in them firing after my player has respawned and stopping event instances right after they are called to play.

Is this node supposed to invalidate/release Event Instances? Because when I track my instances, it appears to invalidate them. My instances report invalid every second respawn. Either way is no matter to me, but it is confusing that it flip-flops.

In my logic, the calls are sequential (stop, then play), but they do happen very close together in the execution order (respawns are quick). So, I threw a 0.2 delay node after calling the Bus Stop All Events nodes and voila it appears to work consistently now. Another thing that may play a role is the stop all events is called directly after a Set Game Paused node set to unpause, and the Event Instance play not long after that.

I don’t love delays as a solution to issues like this, so I’m wondering if there’s another way to approach this / or if this issue I’m seeing is intended behaviour?

Sorry, a bit of a noodle to explain, hope it all makes sense!

Hi,

Thank you for the information and providing a workaround.

Would it be possible to grab your FMOD and UE versions?

Sure, 5.5.4 / 2.03.07

1 Like

Thank you for the information.

In a simple test I was stopping and starting the same event on a bus using both Immediate and Allow Fade Out options. Unfortunately, I was not able to reproduce the issue.

Would it be possible to capture a profiler session (FMOD Studio | Profiling) and get a screenshot of one of the instances that is being started/stopped:


What you can see here is the event instance being released once it has stopped which is the expected behavior.

When you mention invalidate them are you referencing them being released (FMOD Engine | Studio API Engine - Studio::EventInstance::release)? If Allow Fade Out is enabled, it may be that the events are being restarted before being released. That is where you could see that behavior coming from.