Unfortunately, I haven’t been able to reproduce the issue you’re describing. A few questions:
In what contexts do the issue happen? i.e. in the animation sequence editor, in the UE editor when in play mode, in builds, etc.
Could I get you to provide a short series of steps that reproduces the issue for you?
Could I also get you to go to Edit → Project Settings → FMOD Studio → Advanced, set the Logging Level to LEVEL LOG and enable API Error Logging, and post a log from UE where the issue occurs?
Hello @Leah_FMOD !
My apologies for the delayed answer.
This specifically happens in the editor preview, whilst being out of play mode.
So, no connection to builds / playmode / etc.
Reproduction of the issue:
In the unreal engine editor, open an animation asset (Sequence or Montage).
Add a new FMOD Play Event
Add the FMOD event to the play event
Observe on playing the animation in the editor, the sound is not played.
For logging, there is nothing relevant printed:
UFMODAudioComponent::PlayInternal::740 is called with “runtime” but since we are not in runtime, the GetStudioModule().GetEventDescription(Event, Context) returns nullptr, thus never executing further, exiting out of playinternal early, not logging anything.
Thanks for the additional info! I’ve been able to reproduce the issue specifically when bFollow is enabled, as AnimNotify_FMODPlayEvent will use the Play Event Attached node, which executes via the codepath you pointed out. Does this line up with that you’re observing i.e. that disabling bFollow causes the events to play as expected?
Regardless, I’ve passed the issue along to the development team to be addressed.
Hello,
I have very same problem with the Play Event Attached node.
Notified sound is not played on the Animation preview.
I think this bug is from 2.03.
Is there any news on it? Or any way to hedge this problem?
I can’t promise an exact timeline, but a fix is currently scheduled for our next release of 2.03. As for a workaround, if you modify the following code in the FMOD for Unreal integration, it should resolve the problem:
if (bAutoPlay) // <- around line 120,depending on your plugin version
{
// replace contents of if statement with the following:
EFMODSystemContext::Type SystemContext =
(GWorld && GWorld->WorldType == EWorldType::Editor) ? EFMODSystemContext::Auditioning: EFMODSystemContext::Runtime;
AudioComponent->PlayInternal(SystemContext);
}
return AudioComponent;
Let me know if you run into any issues with it.
Edit: the above workaround has been edited to function properly by replacing usage of EFMODSystemContext::Editor with EFMODSystemContext::Auditioning.
I thought it might be that code too, but it seems like it’s not related.
Looks like this is a bug with Unreal 5.5.4 and FMOD 2.03.08.
I didn’t see it in earlier versions, so I think it’s something new.
There’s a chance it’s on Unreal’s side too — the built-in Unreal sound system has a somewhat similar issue, though not exactly the same.
For now, I’m just waiting for a fix.
Looking forward to a fix from Firelight Tech — thanks as always for your efforts!
Apologies! There’s some differences between the FMOD for Unreal integrations, and the workaround I posted only works for 4.27. I’ll update this thread with a workaround for later versions when I have one.
You can work around the issue on UE 5.0+ by modifying the workaround I previously posted - specifically by replacing usage of EFMODSystemContext::Editor in the if (bAutoPlay) statement in FMODBlueprintStatics.cpp with EFMODSystemContext::Auditioning instead:
if (bAutoPlay) /
{
// replace contents of if statement with the following:
EFMODSystemContext::Type SystemContext =
(GWorld && GWorld->WorldType == EWorldType::Editor) ? EFMODSystemContext::Auditioning : EFMODSystemContext::Runtime;
AudioComponent->PlayInternal(SystemContext);
}
return AudioComponent;
I’ll edit the workaround in my previous post to include this change. Again, let me know if you run into any issues with this.