# The best practice of Snapshots management

**URL:** <https://qa.fmod.com/t/the-best-practice-of-snapshots-management/21775>\
**Category:** FMOD Studio\
**Tags:** unity, csharp\
**Created:** [June 18, 2024, 8:43am UTC](https://qa.fmod.com/t/the-best-practice-of-snapshots-management/21775 "2024-06-18T08:43:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Theramenes](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/theramenes/32/6873_2.png) [@Theramenes](https://qa.fmod.com/u/Theramenes)\
**Post date:** [June 18, 2024, 8:43am UTC](https://qa.fmod.com/t/the-best-practice-of-snapshots-management/21775/1 "2024-06-18T08:43:45Z")

</div>

It’s a topic about the best practice to manage a lot of snapshots.

A very straightforward way is to create snapshots manually by createInstance / start / stop / release. Which leading to another problem is how to manage all those snapshots path strings.

Another way is, wrapping snapshots as nested events in an event. Just like p.1. We first create a label param to indicate which snapshots to be activated. Then during the game, we instantiate this wrapper event and call .start() (its a persistent event). By setting parameter, we could then be able to start snapshots easily. Which pretty much avoid the chaos of managing so many path strings.

 ![图片](https://canada1.discourse-cdn.com/flex036/uploads/fmod/original/2X/b/b331d862839dff4952035f7c8d7ef43791c55739.png)  
p.1

So, my question is :

1. Is there any other way to manage and play snapshots?
2. Is it good to create a persistent event to manage snapshots? Or shall we start it everytime we change the parameter?
3. How our method work in behind? I mean, usually a snapshot instance will be created → start() → stop() → release(). So when snapshots are nested in an event, will this sequence be the same? Would there be a chance that snapshots instances are created duplicatedly and not being release?

Thankyou

---

<div class="post-metadata">

**Author:** ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)\
**Post date:** [June 24, 2024, 1:13am UTC](https://qa.fmod.com/t/the-best-practice-of-snapshots-management/21775/2 "2024-06-24T01:13:49Z")

</div>

> [@Theramenes](#):
>
> 1. Is there any other way to manage and play snapshots?

If you want to avoid handling event paths/GUIDs for all of your snapshots in code, then using a parameter to drive snapshot instruments is how I would recommend going about it.

> [@Theramenes](#):
>
> 1. Is it good to create a persistent event to manage snapshots? Or shall we start it everytime we change the parameter?

Functionally there isn’t too much difference, so a persistent event will save on additional code.

> [@Theramenes](#):
>
> 1. How our method work in behind? I mean, usually a snapshot instance will be created → start() → stop() → release(). So when snapshots are nested in an event, will this sequence be the same? Would there be a chance that snapshots instances are created duplicatedly and not being release?

Snapshot instruments will automatically handle starting and stopping their snapshot instances based on whether they are triggered or untriggered. I wouldn’t expect a snapshot instrument to create multiple snapshot instances and/or not release them - if it did, it would be a bug, so please let us know if that occurs.
