Developer Notes

"Since, during level load, the sounds are (legitimately) out of range, and therefore calling PlaybackComplete and subsequently deleting themselves, they never play. When you do move back within range of the sound, the component has been deleted. However, commenting out PlaybackCompleted in PlayInternal so that the audio component doesn't delete itself, the audio component never gets PlayInternal called on it again even when you move in-range."

I just realized why this worked in 4.10 and why it doesn't (intentionally) work in 4.11. In 4.10, it would play the sound no matter what its range was, which created an "active sound". This active sound would then try to play itself every frame and as soon as you walk in-range, it would then generate active wave instances and start the sounds. This was precisely the behavior we wanted to optimize out! The only intentional exemptions we added was if the sounds were looping sounds (which is why this implementation still works in 4.11).

So, I'm actually going to tentatively say that this may be "as designed"... maybe we can add an exemption specifically for ambient sound actors? I.e. add a flag that we can check to exempt the audio component from distance checks and set that flag in the specific case of ambient actors? Maybe add it as a user-visible flag to ambient actors so people can turn it on/off at will?

Description

When upgrading a project to 4.11, Sound Cues placed in the level with the 'Attenuation' override node no longer playback as expected.

This issue was a bit weird when testing because the user reporting the bug mentioned some odd steps for reproduction. He has a workaround, but it does not persist when he restarts the editor.'

"I saved the project, closed unreal. Opened unreal 4.11 and opened the 4.10.4 project. I chose to convert in place. Once the project opens up in 4.11, If I got to the sound cue and hit play it won't play. I would have to go to the attenuation node, check off override attenuation. Hit play, it now plays. And check override attenuation on again. Issue comes back in when I close and open the engine."

Aaron M. I know you made a lot of changes to the Audio framework for this release, and especially with the default behavior of concurrency, which the user also points out as well. If there is anything else you need from me, let me know.

Steps to Reproduce

1. Open the attached project level.
2. PIE in the default level.
3. Now open the project in 4.11 by using the 'Convert-in-place' option.
4. PIE in the default level.

Outcome Sound cues placed in level will no longer play.

Expected Sound cues play similar to how they did in the 4.10.4 version of the project.

Tested and Reproduced 2/3 times

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Audio
Affects Versions4.11
Target Fix4.11.2
Fix Commit2935783
Main Commit2944273
Release Commit2941100
CreatedApr 5, 2016
ResolvedApr 6, 2016
UpdatedApr 27, 2018