Sound management help

I already have a solution for the issue I have, but I don’t think it is the best one for my use case.

I have a ton of abilities that I want to play different sounds when they activate. I won’t know what abilities the character will choose until after the match has started. I want these sounds to be parented to a part so that they are heard in 3d sound by anyone near the character. Each character will only use 3 abilities that each require 1-2 sounds.

Now normally, I would be using a custom character and parent all of the sounds to the head part, but I am not using a custom character in this game.

Here are the solutions I can think of, but I want one that is as efficient as possible.

1: Make a custom starter character and parent all sounds to the head and load the player’s avatar appearance over the custom character.
2: When the character selects the skill, clone a copy from replicated storage to their head. Then I would also have to restore this sound on respawn by checking which skills they have equipped and reparenting another clone to the head.
3: Copy all sounds to the character’s head each time they spawn. (may have around 50-100 sounds, many they won’t need)
4: Create an instance of the sound when it needs to be played and give it the sound id each time it is needed and remove using debris service.
5: something else entirely that I haven’t considered.

Thanks for your help in advance.

Only spawn sounds when needed and store the data in a module. Don’t keep a folder full of sounds, that’s quite unoptimized.