Every ambient_generic used in your map is its own entity. So if your map has like 10 custom wav sound son it, thats like 10 entities right? Wouldn't it be great if you could somehow condense that down to 1 or 2 entities and use those other 8 for more useful things? I was on a mission. I had to reduce entity count somehow, and all these custom sounds weren't helping my cause at all. I did some digging, and some experimentation: USING ONE MASTER ENTITY TO PLAY SOUNDS: NOTE: I'm creating this thread with the intention of having 1 custom sound play at a time, if you want more than one sound to play at a single time, you will need more entities obviously. So I want to add voiceovers and spoken dialogue to a map, right? Meaning I need tons of a soundfiles for those voices. This would mean, in an ordinary scenario, i would need 20 entities to play 20 voices. What the hell! Time to reduce dat shiz. I made an ambient_generic and called it "voiceover". Now, when i want to play any of the voices in my map, i do this via I/O: You get the idea. In-game, it gives me an error that essentially says "Sound must be pre-cached". FUCK. THE THEORY: According to the source sdk wiki, anything must be precached in order to use. Sounds, Materials, etc. And this precache process happens at mapload. I'm assuming source sdk preloads stuff you put in your map automatically, for instance, if i had blah1.wav as its own ambient_Generic, that gets preloaded automatically. Essentially, in order to preload the sound for "addoutput message" to work, I have to have the sound somewhere in the map already. Meaning I need something that calls for that sound, well damn, making entities to preload the sounds would ruin the point of doing this in the first place, right? What if there was something you could do where 1 entity would load multiple sounds? Is there something like that? As I discovered, the answer is YES!, but the catch is, you can't find it in source sdk. You need a text editor. Are you familiar with manifests? Like particle manifests? Well turns out there's a sound manifest too:\ game_sounds_manifest.txt, you'll find it in the scripts folder in GCFScape. What I did, was open up trusty notepad, and typed this: (http://pastebin.com/dTNGn4FZ) I saved it as: mymap_sounds.txt, and included it in the manifest, like so: Now, create 1 ambient_generic, its a dummy and won't be use at all in the map other than to tell source to precache your sounds, i called mine: precache_sounds. and set its soundname (message value) to whatever text is in in the quotes of the sound we created in our custom txt file, in my case, it was Custom.Voices, so i put Custom.Voices in that value. You're done. They will be precached, and using only 2 entities, i was able to save 8 entities to do pretty much the same thing. PAKRAT: When pakratting your map, make sure to include the manifest, and consider the following from valve developer wiki: I hope this tutorial helped you as it's certainly going to help me. It honestly didn't take much experimentation for me to figure it out, i just had to wing it and find something that worked. I just so happened to strike gold. WILL IT WORK WITH MP3s? I have no idea, I haven't tested it with mp3s yet and that's my next objective. If it works with mp3s, your map's entire soundtrack can be condensed into a couple of entities. EDIT: Confirmed: Works with mp3s, just make sure to use the # correctly. (you don't need the #, but if you use it, the manifest has to have the # as well.) Did you discover this? HOW LONG HAVE YOU BEEN HOLDING OUT ON US? Relax, I discovered it just today on my own after a little experimentation, lol.