Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UE 5.4 - reverb at the listener position - crash #364

Open
miguel-negrao opened this issue Jul 29, 2024 · 3 comments
Open

UE 5.4 - reverb at the listener position - crash #364

miguel-negrao opened this issue Jul 29, 2024 · 3 comments

Comments

@miguel-negrao
Copy link

System Information
Please provide the following information about your system:

  • Steam Audio version: 4.5.3
  • Unreal Engine version: 5.4.3
  • Operating System and version: Windows 10
  • CPU architecture (e.g. x86-64, armv7): x86-64

Issue Description
When using listener centric reverb UE crashes

Steps To Reproduce
Steps to reproduce the behavior:

  1. Implement what is in the manual here.
  2. Play in editor.
  3. Crash.

Project which causes crash can be downloaded here (~500MiB).

Crash Dump

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000008

UnrealEditor_SteamAudio!FSteamAudioReverbSubmixPlugin::LazyInit() [F:\OneDrive - IPLeiria\AdvancedTopicsUE\UE\Surround_07_2024\SteamAudio\Plugins\SteamAudio\Source\SteamAudio\Private\SteamAudioReverb.cpp:524]
UnrealEditor_SteamAudio!FSteamAudioReverbSubmixPlugin::OnProcessAudio() [F:\OneDrive - IPLeiria\AdvancedTopicsUE\UE\Surround_07_2024\SteamAudio\Plugins\SteamAudio\Source\SteamAudio\Private\SteamAudioReverb.cpp:739]
UnrealEditor_Engine!FSoundEffectSubmix::ProcessAudio() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\SoundEffectSubmix.cpp:23]
UnrealEditor_AudioMixer!Audio::FMixerSubmix::GenerateEffectChainAudio() [D:\build\++UE5\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerSubmix.cpp:1688]
UnrealEditor_AudioMixer!Audio::FMixerSubmix::ProcessAudio() [D:\build\++UE5\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerSubmix.cpp:1411]
UnrealEditor_AudioMixer!Audio::FMixerSubmix::ProcessAudio() [D:\build\++UE5\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerSubmix.cpp:1303]
UnrealEditor_AudioMixer!Audio::FMixerDevice::OnProcessAudioStream() [D:\build\++UE5\Sync\Engine\Source\Runtime\AudioMixer\Private\AudioMixerDevice.cpp:930]
UnrealEditor_AudioMixerCore!Audio::FOutputBuffer::MixNextBuffer() [D:\build\++UE5\Sync\Engine\Source\Runtime\AudioMixerCore\Private\AudioMixer.cpp:247]
UnrealEditor_AudioMixerCore!Audio::IAudioMixerPlatformInterface::RunInternal() [D:\build\++UE5\Sync\Engine\Source\Runtime\AudioMixerCore\Private\AudioMixer.cpp:744]
UnrealEditor_AudioMixerCore!Audio::IAudioMixerPlatformInterface::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\AudioMixerCore\Private\AudioMixer.cpp:793]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:149]
@lakulish
Copy link
Collaborator

lakulish commented Aug 6, 2024

@miguel-negrao Unfortunately we are unable to reproduce the crash using the project you provided. Are you able to share a crash dump (.dmp) file from the crash that we can analyze?

@jtbiddle
Copy link

jtbiddle commented Aug 18, 2024

UEMinidump.dmp

I had the same issue - this is just a 3rd person example map with a single audio source (and a couple of engine plugins). It happens both with real-time reverb and baked (with a successful bake)

Edit: It even happens with no audio sources on the map and reflections disabled. Oddly, it worked for me yesterday, then I tried adding more audio sources and it crashed and has crashed on every run after that. It crashes about 5 seconds into any PIE

@jtbiddle
Copy link

jtbiddle commented Aug 22, 2024

"Skareeg Xigmatec" on Youtube figured it out, read the 4th paragraph of the description on setting up the reverb submix https://www.youtube.com/watch?v=bm98VFbOcnI

Copied here:
Getting reflections to work was an absolute nightmare to figure out. You need to create your Steam Audio Reverb Settings and configure it to enable reflections (and I recommend HRTF on them if you want). You enable reverb in the attentuation settings and set it to manual send level at 1.0, to make sure Unreal doesn't try and do something to the reverb before it reaches Steam Audio. Select your reverb plugin settings object. This next part is vastly important. If you try to run, you will crash (it triggers access violations in C++). The legacy audio system is being sunset in favor of the new audio engine in Unreal. Steam Audio relies on having a Submix object to send the reverb to. Create a Submix asset for a reverb mix, then use the graph to make a master submix and connect them together to form your new mixing chain (you can just use one submix, but this lets you separate the reverb if you want). Then, create a Submix Effect Preset, using the Steam Audio Reverb Submix Plugin Preset option. Tell it to apply reverb and HRTF. Go to the reverb submix and use the plugin settings in your submix effect chain. Finally, go to your Project Settings, under Audio and set the default Reverb and Master submixes to the ones you just created (or the same one if using one), and then go to Steam Audio and make absolutely certain that your Reverb submix uner the reverb settings is the reverb submix you made (that should solve the crash). Change material settings in your world for reflections (settings them low to make it absurd like this demo does), then reexport geometry again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants