# Programmer instrument scalability

**URL:** <https://qa.fmod.com/t/programmer-instrument-scalability/22436>\
**Category:** FMOD Studio\
**Created:** [December 19, 2024, 12:26pm UTC](https://qa.fmod.com/t/programmer-instrument-scalability/22436 "2024-12-19T12:26:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sronc002](https://avatars.discourse-cdn.com/v4/letter/s/13edae/32.png) [@sronc002](https://qa.fmod.com/u/sronc002)\
**Post date:** [December 19, 2024, 12:26pm UTC](https://qa.fmod.com/t/programmer-instrument-scalability/22436/1 "2024-12-19T12:26:37Z")

</div>

Using the Scripting Examples given for the Programmer Sounds as an example: putting the audio files (.wav) into the StreamingAssets folder and calling them by their path in StreamingAssets is not scalable.

[https://www.fmod.com/docs/2.02/unity/examples-programmer-sounds.html](https://www.fmod.com/docs/2.02/unity/examples-programmer-sounds.html)

For example if the filename changes or if we’re using sub folders it will break the reference.

Is there a better solution, than just using strings that store their path?  
Is AssetReference a possible solution for scalability?

---

<div class="post-metadata">

**Author:** ![Andrew](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/andrew/32/261_2.png) [@Andrew](https://qa.fmod.com/u/Andrew)\
**Post date:** [December 31, 2024, 12:39am UTC](https://qa.fmod.com/t/programmer-instrument-scalability/22436/2 "2024-12-31T00:39:44Z")

</div>

Have you considered using AudioTables in FMOD Studio?  
[https://www.fmod.com/docs/2.03/studio/dialogue-and-localization.html#audio-tables](https://www.fmod.com/docs/2.03/studio/dialogue-and-localization.html#audio-tables)

---

<div class="post-metadata">

**Author:** ![sronc002](https://avatars.discourse-cdn.com/v4/letter/s/13edae/32.png) [@sronc002](https://qa.fmod.com/u/sronc002)\
**Post date:** [January 8, 2025, 11:32am UTC](https://qa.fmod.com/t/programmer-instrument-scalability/22436/3 "2025-01-08T11:32:33Z")

</div>

Thanks Andrew - yes we were planning to use these in any case. But as far as i understand, they’re simply a way of locating all the relevant audio files in one place, correct?

My concern is if naming conventions change for the audio files Unity and won’t be able to refresh and auto-locate these in the same way it does with events.

Just thinking ahead in terms of possible issues we might encounter as the project grows

---

<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:** [January 8, 2025, 10:11pm UTC](https://qa.fmod.com/t/programmer-instrument-scalability/22436/4 "2025-01-08T22:11:11Z")

</div>

Under the hood, Events have unique IDs (GUIDs) and names, by having these two pieces of data we are able to handle renames automatically. To have the same functionality with loose .wav files, you’d need to give each file a unique name and not change it. If you’re using audio tables you can use [keys](https://www.fmod.com/docs/2.03/studio/dialogue-and-localization.html#keys) to separate the name the game uses (the key) from the file path on disk. This gives you a central place to handle the mapping between game and disk. While not foolproof it does give you some reduction in game breakage as long as the keys file is maintained.
