Will FMOD callbacks always happen on the main thread?

The docs say:

FMOD Callback Types
FMOD File and memory callbacks can possibly be called from an FMOD thread. Remember that if you specify file or memory callbacks with FMOD, to make sure that they are thread safe. FMOD may call these callbacks from other threads.

Does this mean that all other callback types (including FMOD_CHANNELCONTROL_CALLBACK_END) will always be called from the main thread?

In my experiments, FMOD_CHANNELCONTROL_CALLBACK_END is called on the main thread.

All the ChannelControl callbacks will fire from the main (calling) thread, unless you are using the Studio API, in which case they will fire from the Studio Update Thread (in default / async mode) or the main (calling) thread in synchronous mode.

I’ve scheduled a task to have this information added to the documentation for all callbacks.

1 Like