# Where should I store event instances and helper functions?

**URL:** <https://qa.fmod.com/t/where-should-i-store-event-instances-and-helper-functions/23542>\
**Category:** Unity\
**Created:** [October 29, 2025, 11:45am UTC](https://qa.fmod.com/t/where-should-i-store-event-instances-and-helper-functions/23542 "2025-10-29T11:45:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![tmoe1354](https://avatars.discourse-cdn.com/v4/letter/t/f1d935/32.png) [@tmoe1354](https://qa.fmod.com/u/tmoe1354)\
**Post date:** [October 29, 2025, 11:45am UTC](https://qa.fmod.com/t/where-should-i-store-event-instances-and-helper-functions/23542/1 "2025-10-29T11:45:29Z")

</div>

Hi, I have an AudioManager with basic methods for e.g. PlayOneShot, StopInstance etc. I often times need functions for specific sounds with some additional logic, like PlayFootStepsSound. Should I put these functions into the AudioManager or keep them in the gameplay logic scripts? Also, I need to store the event instances somewhere. Is it better to store them in the gameplay scripts to keep the AudioManager clean?

I am worried things will get messy when the project grows in size, so I am trying to decide on a structure now. Help is much appreciated!

---

<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:** [November 2, 2025, 10:59pm UTC](https://qa.fmod.com/t/where-should-i-store-event-instances-and-helper-functions/23542/2 "2025-11-02T22:59:32Z")

</div>

Hi,

Thank you for sharing the information!

It really depends on your project setup, so there isn’t a single “right” answer here.

That said, I can share some general recommendations that usually scale well:

- Let your AudioManager handle global tasks such as loading banks, playing one-shots, or setting global parameters.
- Keep gameplay-specific audio methods (like footsteps, engine sounds, or weapon fire) close to the system that triggers them. For example, a FootstepAudio component on the player.
- If an event needs to persist and update (for example, looping or parameter-driven sounds), store its EventInstance on the object that owns it. If it’s just a short one-shot effect, simply call PlayOneShot().

Hope this helps!

---

<div class="post-metadata">

**Author:** ![tmoe1354](https://avatars.discourse-cdn.com/v4/letter/t/f1d935/32.png) [@tmoe1354](https://qa.fmod.com/u/tmoe1354)\
**Post date:** [November 7, 2025, 9:00am UTC](https://qa.fmod.com/t/where-should-i-store-event-instances-and-helper-functions/23542/3 "2025-11-07T09:00:45Z")

</div>

Thanks for the info!
