Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

0 votes

We just updated our project to "2023.1.11.8682.3392" from "2023.1.3.8471.2970" in Unreal Engine 5.3, and we encountered this error after loading our Game level, from our Main Menu level.
We have some Actors in our MainMenu level to play some ambient sounds, these actors have an UAkComponent which references a UAkAudioEvent asset, on BeginPlay, we call UAkComponent::PostAkEvent to play these sounds. We have the flag StopWhenOwnerDestroyed set to true in the UAkComponent.  s

When entering the Game Level, apparently, these sounds are correctly unloaded, but Wwise will still try to play them for some reason, spamming these errors.
Querying FAkAudioDevice::Get()->IsPlayingIDActive with the original EventId and PlayingId from the MainMenu returns true, as if the internal state is not properly cleared.
Is the internal state of FAkAudioDevice supposed to never be cleared? What can we do to debug the situation further? Thanks in advance.

Also, why does the error printed by Wwise changes depending on whether you have the Capture connected or not?
Am I right to assume that these two errors are actually the same error? That is quite confusing to me.

This is printed without the Capture
LogWwiseMonitor: Error: Selected node (452674424) not available. Make sure the structure associated to the event is loaded or that the event has been prepared Name: 27166237 GO: 2334419198752

This is printed with the Capture:
LogWwiseMonitor: Error: Media 489551405 was not loaded for this source Name: 15250706 GO: 2014176255280


Also, maybe completely unrelated, on iOS we are getting a bunch of plug-in not found errors:
 

LogWwiseMonitor: Error: Could not register plug-in: iZotope

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkSilenceGenerator

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: McDSP

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkParametricEQ

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkCompressor

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkPeakLimiter

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkFlanger

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkConvolutionReverb

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkStereoDelay

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkGain

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkMotion

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Plug-in not found: 33226759

Edit Update:

We found out the solution to the issues.
For the non stopping sounds spamming "Selected node not available" the culprit was a change introduced somewhere between these Wwise versions in UAkComponent::OnUnregister

if( !Owner || !CurrentWorld || (StopWhenOwnerDestroyed && Owner->IsActorBeingDestroyed()) || CurrentWorld->bIsTearingDown || (Owner->GetClass() == APlayerController::StaticClass() && CurrentWorld->WorldType == EWorldType::PIE))
{
    Stop();
}

Here the check Owner->IsActorBeingDestroyed was added, but in our case, due to how we are streaming our levels (additively), the UAkComponent::OnUnregister function is called when the actor is NOT being destroyed, so the sound is never stopped. In our case, we just removed this line for a quick patch, and the sounds are now properly stopped when changing levels.
In my opinion this callback shouldn't be used in this way, rather BeginDestroy should be used for a proper fix.

Plug-in not found:
For the issue about plugins not found on ios (it was completely unrelated), the issue was that our plugin header file includes were removed from the file AkiOSPlugins.h with the update for some reason.
As far as I understand, this header file should be automatically generated when compiling. Adding our plugin includes to this header file seems to have fixed the issue.

in General Discussion by Gabriele Dolcemascolo (100 points)
edited by Gabriele Dolcemascolo

Please sign-in or register to answer this question.

...