FMOD Unity Sync Issue

Hello, I have written a script for Unity and I can’t manage to get it to work the way I want - the video player video set with DSP Time work exactly the way I want, but the video player videos with the other time set than DSP time have issues - they are lagging, looping, and the videos that are meant to loop just don’t. Could you please help me out? It’s my first time using FMOD and I’m completely new to it. The script is here: https://drive.google.com/file/d/1APtkAo76cRx7Q_cj8Ma__E6f2qQF1uhO/view?usp=sharing

Hi,

Could I please grab you Unity and FMOD versions?

We have a Unity script examples for playing video audio: Unity Integration | Examples Video Playback

Hope this helps!

Unity 6000.0.59f2

FMOD 2.03

1 Like

Thanks for the versions.

Did you have any luck with the Scripting examples?

Not really, I have two complicated scripts that I had written for Unity default system and I struggle to make them work with no issues with FMOD. In this script I sent the video player videos set to DSP time work perfectly, but when the script is attached to Video player videos set with Game Time or Unscaled Game Time it forces them to run smoothly frame by frame causing lagging and the DSP videos loop after they end and the looping videos fail to loop… The second script is an example of a simple DisneyPlus player emitter for Unity that I can send łater as well, so you could take a look

Here’s the Disney script: https://drive.google.com/file/d/10qp8C-5LbmSa6uLM3PiV6fFWhcn-K2f5/view?usp=sharing

Hi, thank you for sharing the context and scripts!

Since Connor is away, I will see if there’s anything I can help with in the meantime.

From a quick look, the setup you’ve built seems fairly advanced. That level of implementation detail is a bit outside the usual scope of what we can fully debug here on the forum, but I can try to offer some general guidance based on what you described.

It sounds like the main issue comes from how frequently the VideoPlayer timing is being driven externally.

When a video is set to use Game Time or Unscaled Game Time, Unity already manages its own time progression internally. If the script continues to push updates to the playback position every frame, it can cause stuttering or looping conflicts, because the VideoPlayer is effectively being asked to seek constantly.

A few general recommendations you could explore:

  • Only synchronize the videos that actually use DSP Time.
    Leave Game-Time or Unscaled-Time videos to run freely so Unity handles them smoothly.
  • When FMOD or the video timeline resets, wrap the target time within the clip’s length to prevent the video from fighting Unity’s native looping behaviour.

Hope this helps.

Thank you, I’ll try it later and let you know if I still need any help

And what about my DisneyPlus Player alike script?

For the DisneyPlus Player script you mentioned, that overall approach looks reasonable to me. It only seeks when a user explicitly performs an action (scrub, jump, or play/pause), rather than trying to synchronize the VideoPlayer continuously every frame.

It’s a bit difficult to fully assess the architecture without seeing it in action, but from what you’ve described, your current design seems well thought out and likely the most suitable approach for your particular workflow.