Currently, you have to have a reference to a sound object to preload it with :PreloadAsync. You can load textures by assetid string with this function, but not sounds.
However, I don’t want to put references to my objects in my separate preload script, as the objects are in multiple places and I just want to preload a few images/sounds in my ReplicatedFirst loading screen.
I need to do this for some other images/sounds to load instantly in PlayerGui right after the loading screen.
(PlayerGui doesn’t even load when the CharacterAutoLoads=false / is in the ReplicatedFirst loading screen, so I can’t even reference the objects for PreloadAsync)
I’ve noticed that my footstep system is having some weird latency that is associated with sounds loading before playing it. I already forgot when this issue have started showing up, but its likely around mid-2024. I’ve had to fix it by caching sound instances (around 10 of them or so) to reuse whenever I want to play them and then put them back in cache.
It seems like that even if you just parent it to nil, the problem begins to persist, only when its parented somewhere, this way of caching works fine.
Please allow us to preload sounds. Nowadays this is detrimental to me since then I’ll be able to eliminate hacky workarounds just to play sounds in time.
+1 for preloading assets by ID. Would absolutely love to see this implemented.
Until then, a workaround would be storing a list of all the IDs in some sort of list and simply going preload > change ID > preload > repeat (or, if you only have a small list, creating all the instances in somewhere like replicatedstorage and preloading those)