# Callbacks not fired on update thread when studio is initialized with DEFERRED\_CALLBACKS

**URL:** <https://qa.fmod.com/t/callbacks-not-fired-on-update-thread-when-studio-is-initialized-with-deferred-callbacks/16332>\
**Category:** FMOD Engine\
**Tags:** csharp\
**Created:** [October 21, 2020, 3:48pm UTC](https://qa.fmod.com/t/callbacks-not-fired-on-update-thread-when-studio-is-initialized-with-deferred-callbacks/16332 "2020-10-21T15:48:33Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![gidcheen](https://avatars.discourse-cdn.com/v4/letter/g/45deac/32.png) [@gidcheen](https://qa.fmod.com/u/gidcheen)\
**Post date:** [October 21, 2020, 3:48pm UTC](https://qa.fmod.com/t/callbacks-not-fired-on-update-thread-when-studio-is-initialized-with-deferred-callbacks/16332/1 "2020-10-21T15:48:33Z")

</div>

The documentation is VERY lackluster when it comes to this but from my understanding callbacks should be fired inside of the studio system update function on the thread that called it. But this doesnt seem to happen.

> If Studio is initialized with [FMOD\_STUDIO\_INIT\_DEFERRED\_CALLBACKS](https://fmod.com/resources/documentation-api?version=2.1&page=studio-api-system.html#fmod_studio_init_deferred_callbacks) then any deferred callbacks fired during any asynchronous updates since the last call to this function will be called

Im trying to receive the Started & Stopped events from an event instance on the unity main thread so that i dont have to do that synchronization myself.

Im using the studio api inside of unity without using any of the other c# abstractions the unity plugin comes with.

---

<div class="post-metadata">

**Author:** ![mathew](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/mathew/32/431_2.png) [@mathew](https://qa.fmod.com/u/mathew)\
**Post date:** [October 25, 2020, 9:48pm UTC](https://qa.fmod.com/t/callbacks-not-fired-on-update-thread-when-studio-is-initialized-with-deferred-callbacks/16332/2 "2020-10-25T21:48:51Z")

</div>

If you follow the links through to the [Event Callbacks](https://fmod.com/resources/documentation-api?version=2.1&page=studio-guide.html#event-callbacks) section of the docs it goes on to explain that only beat and marker callbacks are capable of being deferred to the main thread (the thread that calls Studio::System::Update). The reason for this is the other callbacks pass data in that may not exist by the time the next call to Update is made.
