Quick question on handling lots of audio clips

This may seem like a crazy question, but say we wanted to have something like 200,000+ audio clips along with 200,000+ animations in an Unreal project. Is this reasonably possible?

Steps to Reproduce
N/A

Hi Jerry, looks like this got triaged to the UE audio team since it mentions sound clips but it seems you are actually asking about the content browser asset registry limits for a UE project (if I am reading it correctly)? Or would these all be individual actors within a single scene/level and the question was more around the limits of the world outliner and simultaneous actors in a scene? If you can provide more details on the setup you have in mind, we are in process of finding someone on the editor team who can advise.

Hi Jerry, the answer is a yes with an asterisk. Unreal is capable of handling that amount of assets. There are projects out there with more than 400k. The main hurdle will be environment. If it’s a project with a content library of 400k+ assets our best guidance is to test with some automation to ensure your build and hardware environment specifically can handle it. If it’s a single level with 200k+ object instances each with an audio + animation asset component then you will run into issues at scale because you’ll be hitting the upper ceiling of what Unreal can run in one level at a time. To help optimize your storage one trick is to use the Derived Data Cache to help with asset artifacts. Might be good to test with it on and off to see the difference in your environment. Overall though I’d say you should be able to try with a good amount of confidence.

Please let us know if you have further questions.

DDC Doc link: https://dev.epicgames.com/documentation/en\-us/unreal\-engine/using\-derived\-data\-cache\-in\-unreal\-engine

Hey there, I chatted with a few dev folks and they generally agree that depending on hardware you would be pushing the limits of the engine and being able to load that much animation and audio on a single actor like that. On the animation front, with the new ACL compression algorithms, we can get a very large amount of animation to be pretty small so you might be ok there. But audio is based purely what your assets sizing is like.

That said, it would be wise to come up with async loading or streaming strategy. In terms of memory and asset loading, by default the engine will blocking load assets it needs and then those assets will become garbage collected at a later point once they aren’t referenced anymore. We do have asynchronus loading tools as well, and some tools will use that to load the assets they need. In the case of sequencer, that is not the case. If sequencer references an asset it will blocking load it, and this is true for Spawnables in sequencer as well, but mid sequence when they are spawned. So we often make recommendatins to people that they preplan their loading of assets ahead of them being referenced in sequencer, and then use the new dynamic binding tools to reduce hitches.

Do you have an idea of what your audio specifications will be? Are you planning on loading animation and audio through level sequence assets or will you be building level sequences on the fly (I seem to remember us talking about that potential in the past)?

Dustin

Hi Brian,

Yes. We have a specific use case in which we might have 200K+ audio clips aligned with 200K+ animations. I just wanted to know is something like this doable/practical. Or perhaps is there a way to handle these more dynamically?

-Jerry

Thanks Scott. In this particular case it would be one object or actor that has 400K animations and audio clips that could be sequenced, not 400K different objects in a level. If that makes a difference.