# “\[FMOD\] ShadowEventInstance::createProgrammerSound : Programmer sound callback is not set for instrument”

**URL:** https://qa.fmod.com/t/fmod-shadoweventinstance-createprogrammersound-programmer-sound-callback-is-not-set-for-instrument/22529
**Category:** Unity
**Created:** [January 21, 2025, 5:12pm UTC](https://qa.fmod.com/t/fmod-shadoweventinstance-createprogrammersound-programmer-sound-callback-is-not-set-for-instrument/22529 "2025-01-21T17:12:24Z")
**Posts on this page:** 1
**Showing post:** 4

<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: [January 23, 2025, 9:47pm UTC](https://qa.fmod.com/t/fmod-shadoweventinstance-createprogrammersound-programmer-sound-callback-is-not-set-for-instrument/22529/4 "2025-01-23T21:47:33Z")

</div>

> [@AntvilStudios](#):
>
> The error returned for a localized bank is: [FMOD] Unable to load Dialogues\_SPA - bank already loaded. This may occur when attempting to load another localized bank before the first is unloaded, or if a bank has been loaded via the API.  
> UnityEngine.Debug:LogWarningFormat (string,object)

This warning is benign. You could find a discussion of the same issue in this post:

> [@Kart Minigame tutorial Unity doesn't find new FMOD music events](https://qa.fmod.com/t/kart-minigame-tutorial-unity-doesnt-find-new-fmod-music-events/22326/4):
>
> No problem, happy to hear you managed to resolve those errors. This warning is benign. FMOD Studio has a[Localized Audio Tables](https://www.fmod.com/docs/2.02/studio/dialogue-and-localization.html#localized-audio-tables) feature, which will produce a separate bank for each language being used - the example project has three localized banks. By default, the FMOD for Unity integration loads all bank (which you can see in the Initialization section of FMOD Settings in Unity), so these two warnings are being produced by the integration trying to load two of the localized banks after alrea…

> [@AntvilStudios](#):
>
> ```auto
> public static SoundManager Instance { get; private set; }
>  
> EVENT_CALLBACK dialogueCallback;
> public FMODUnity.EventReference Dialog;
> public void PlayDialog(ETranslateID ID)
> {
> //RuntimeManager.PlayOneShot("event:/Dialog/" + ID.ToString());
> //RuntimeManager.PlayOneShot("event:/Dialog/dialog_0a");
>  
> var dialogueInstance = RuntimeManager.CreateInstance(FMODEvents.Instance.Dialog);//Esto está bien
> // Pin the key string in memory and pass a pointer through the user data
> GCHandle stringHandle = GCHandle.Alloc(ID.ToString());
> Debug.LogError("Esto es " + stringHandle);
> dialogueInstance.setUserData(GCHandle.ToIntPtr(stringHandle));
> dialogueInstance.setCallback(dialogueCallback);
> dialogueInstance.start();
> dialogueInstance.getPlaybackState(out PLAYBACK_STATE dialoguesState);//Se inicia con normalidad
> dialogueInstance.release();
> }
> 
> ```

From the code you shared, it seems that the `dialogueCallback` is declared but not assigned to `DialogueEventCallback`. Without this assignment, the callback won’t execute as expected.

To resolve this, please assign the callback in the `Start` or `Awake` method like this:

```auto
dialogueCallback = DialogueEventCallback;

```

Hope this helps, let me know if the issue persist.

---

_[View the full topic](https://qa.fmod.com/t/fmod-shadoweventinstance-createprogrammersound-programmer-sound-callback-is-not-set-for-instrument/22529)._
