Is there any point in using TSoftObjectPtr
to store a large number of songs (~100–400) in a DataTable, then copying them into an array for runtime use and loading only the ones I need at the moment with RequestAsyncLoad
, later releasing the handles for any that I no longer need — if UE already uses Audio Stream Caching by default?
As I understand it, there’s a hard limit of 64 MB for the cache by default, so it seems like songs shouldn’t really affect RAM usage much. But I’m still confused — what if I just use hard references instead?
Also, does the engine store a reference somewhere once a sound is loaded? It seems like the GC doesn’t clean it up even after I release all handles.