# getSoundInfo / createSound on main thread? Or no

**URL:** <https://qa.fmod.com/t/getsoundinfo-createsound-on-main-thread-or-no/22802>\
**Category:** Unity\
**Created:** [April 15, 2025, 5:19am UTC](https://qa.fmod.com/t/getsoundinfo-createsound-on-main-thread-or-no/22802 "2025-04-15T05:19:45Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![li\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/li_fmod/32/6577_2.png) [@li\_fmod](https://qa.fmod.com/u/li_fmod)\
**Post date:** [April 28, 2025, 5:57am UTC](https://qa.fmod.com/t/getsoundinfo-createsound-on-main-thread-or-no/22802/6 "2025-04-28T05:57:23Z")

</div>

Thank you for sharing your insights and solutions!

> [@VoodooDetective](#):
>
> Actually, I think you have to wait until the Sound is in the OPEN state before you can call Start() on the event.
> 
> That being the case, you can’t actually hand a Sound that isn’t open to the Event otherwise you won’t know when it’s OK to hit Start().

You way of monitoring the sound’s open state using `Sound::getOpenState` and delaying the `CREATE_PROGRAMMER_SOUND` call until the sound is ready sounds like a solid approach to ensure that playback begins only when the sound data is fully available.

Alternatively, if your projects design allows for it, preloading the required sounds on the main thread before triggering the event could be an effective strategy.

I also found a similar discussion here that might relevant to your case:

> [@Delay exceeded warning when using Programmer Instrument and Audio Table](https://qa.fmod.com/t/delay-exceeded-warning-when-using-programmer-instrument-and-audio-table/18203/2):
>
> This warning just means it took a little longer to load the sound, it shouldn’t cause any noticeable issues unless you need extreme precision of the sound’s start time. If timing is crucial for you, you can move the [System::createSound](https://www.fmod.com/resources/documentation-api?version=2.1&page=core-api-system.html#system_createsound) part out of the callback and into a coroutine to preload it at an earlier stage. Then, instead of passing a string handle into your callback you can give it a handle to your preloaded sound.

---

_[View the full topic](https://qa.fmod.com/t/getsoundinfo-createsound-on-main-thread-or-no/22802)._
