# Active voices and virtualization

**URL:** https://qa.fmod.com/t/active-voices-and-virtualization/20181
**Category:** Unreal Engine
**Tags:** ue5
**Created:** [April 28, 2023, 12:30pm UTC](https://qa.fmod.com/t/active-voices-and-virtualization/20181 "2023-04-28T12:30:57Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![jeff\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/jeff_fmod/32/1766_2.png) [@jeff\_fmod](https://qa.fmod.com/u/jeff_fmod)
#### Post date: [May 9, 2023, 2:10am UTC](https://qa.fmod.com/t/active-voices-and-virtualization/20181/4 "2023-05-09T02:10:38Z")

</div>

> [@\_MaX](#):
>
> Is it like FMOD trying to playback the voices during virtualization and immediately stopping them since the event is actually virtualized?

Yes, that is essentially what is happening.

> [@\_MaX](#):
>
> Does this mean we should account for this super short active voices as normal un-virtualized voices?

These voices are non-virtual in that moment, and will contribute to your max instance / max virtual voice counts, and in large enough quantities could flog your CPU. I would be surprised if that was the main performance bottleneck in your game if you do get to that point though.

> [@\_MaX](#):
>
> The question I’m asking myself is: how do they do with insanely huge enviros in AAA open worlds with situations like that? Do they have another culling system on top of FMOD’s virtualization system stopping the events to avoid reaching the 512/1024 max voices?

Some large projects choose to have global event culling systems for greater control over event spawning, but the majority of large projects don’t require this, because they don’t play all events at once or rely on virtualization to enable/disable sounds as you are doing. Instead, they use [collisions](https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Physics/Collision/) to start events when the player is within range of the object making the sound, and stop the event when the player leaves that range.  
Perhaps rather than playing all of your insect sounds at once and relying on virtualization to make them audible, you could use a [Trigger Actor](https://docs.unrealengine.com/4.27/en-US/Basics/Actors/Triggers/) and start your insect event on [`Event Actor Begin Overlap`](https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/Blueprints/UserGuide/Events/), and stop it on [`Event Actor End Overlap`](https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/Blueprints/UserGuide/Events/).

> [@\_MaX](#):
>
> If I’m following what you’re saying, virtualization should only happen when using virtualize right? How come I do see the exact same amount of inactive voices? Are the voices reserved as soon as an event exists in the map and does not particularly means “virtualized”?

Audibility doesn’t get recalculated until a new event instance is created, so if you change the stealing mode the profiler won’t show any change until a new event instance is created. I will get the Dev team to look into this and see if we can trigger an audibility calculation when changing the stealing mode- thank you for bringing this to our attention!

---

_[View the full topic](https://qa.fmod.com/t/active-voices-and-virtualization/20181)._
