A pooled Unity audio toolkit with reusable SoundEvents, AudioSource-style wrappers, voice limits, distance culling, distance layers, loop virtualization, mixer routing, and demo examples.The runtime audio system is render-pipeline independent and can be used in Built-in, URP, or HDRP projects.The included demo scenes/materials support Built-in and URP. HDRP users may need to convert demo scene materials for their project.Runtime support: Built-in / URP / HDRPDemo visual support: Built-in / URPHDRP: compatible runtime, demo materials may need conversion🎧 Pooled Audio Event SystemPooled Audio Event System is a practical, event-driven audio toolkit for Unity projects that need clean, scalable gameplay audio without placing AudioSources on every object.Instead of scattering AudioSources across your scene, define reusable SoundEvent assets, route playback through a centralized pooled manager, and keep your audio under control with distance culling, voice limits, loop virtualization, mixer buses, and clean debugging tools.This package is designed for real gameplay scenarios: open-world games, survival games, shooters, AI crowds, vehicles, traffic systems, UI-heavy projects, city sandboxes, action games, and any project where many objects may try to play sound at once.🔥 What Does It Do?Unity AudioSources are useful, but large gameplay scenes can quickly become messy:• Too many objects with AudioSources• Too many sounds playing at once• Looped sounds wasting sources while far away• Distant sounds playing when nobody can hear them• Repetitive audio setup across prefabs• Hard-to-debug audio spam from AI, physics, crowds, weapons, vehicles, or UIPooled Audio Event System solves that by moving sound behavior into reusable SoundEvent assets and routing playback through a managed pool.🧠 Core ConceptThe system is built around three main parts:1. SoundEventA ScriptableObject that defines what a sound is and how it should behave.2. PooledAudioManagerA central manager that leases, reuses, virtualizes, and releases pooled AudioSources.3. SoundEventPlayerAn optional AudioSource-style wrapper for users who prefer component-based workflows.You can use the system fully through code, through the wrapper component, or mix both approaches.✅ Core Features🎵 SoundEvent AssetsCreate reusable audio definitions with clips, volume ranges, pitch ranges, bus routing, 3D settings, culling, caps, loop behavior, and distance variants.🔁 Pooled AudioSourcesAudioSources are leased only when needed and returned to the pool when finished. Idle pooled sources are disabled automatically to keep the hierarchy clean.📍 2D and 3D PlaybackPlay global UI sounds, positional gameplay sounds, force 2D playback when needed, or let SoundEvents decide.🚦 Voice LimitsPrevent audio spam by limiting how many instances of a SoundEvent can play at once. Perfect for AI crowds, horde enemies, footsteps, impacts, weapons, and repeated UI sounds.🌎 Distance CullingSkip positional sounds that are too far away to matter. This helps keep large scenes clean and avoids wasting pooled sources.📡 Distance LayersDistance layers allow positional SoundEvents to choose different clip sets based on listener distance.For example, a weapon, explosion, thunder strike, vehicle crash, or large creature sound can use separate near, mid, and far clips instead of playing the same sound at every range.Each layer can define its own distance range, clips, volume multiplier, pitch multiplier, and optional mixer group override. This makes large 3D sounds feel more natural in open areas, city scenes, survival games, shooters, and other gameplay spaces where distance matters.Tracked loops can also use distance layers, with options for locking the layer on start, reevaluating when the loop re-enters audible range, or reevaluating while moving.🔄 Loop VirtualizationLooped sounds can stay logically tracked while out of range, then reactivate when they come back into range and pass voice/pool limits.📡 Transform FollowingOne-shots and loops can follow moving transforms. Useful for characters, vehicles, weapons, creatures, alarms, projectiles, and moving emitters.🎚️ Mixer Bus RoutingRoute events through Music, SFX, UI, Gameplay, and optional extra buses for larger projects.🧩 AudioSource-Style WrapperUse SoundEventPlayer if you want familiar calls like Play, PlayOneShot, PlayLoop, Stop, Restart, Toggle, Mute, and more.📊 Runtime Debug StatsTrack active sources, pool size, active loops, virtualized loops, skipped distance requests, skipped voice-limit requests, and skipped pool-limit requests.🛠️ Polished InspectorsCustom inspectors for SoundEvent, SoundEventPlayer, and PooledAudioManager make the system easier to read, configure, and debug.🎮 Included Demo ContentThe package includes demo scenes that show practical usage patterns, including:• 2D/UI audio playback• 3D positional playback• Distance culling behavior• Near/mid/far distance layer behavior• Loop virtualization• Mixer volume slider setup• SoundEventPlayer component workflow• FPS-style footstep and movement audio examples• Voice-limit stress examplesThe demos are included to help you understand the workflow quickly and see how the system behaves in real scenes.🧾 Third-Party Demo / Support Asset NoticeThis package includes selected third-party demo/support assets used only for included example scenes, demo UI, documentation visuals, and sample SoundEvents.These assets are supporting demonstration content only. They are not the primary product being sold.The primary product is the Pooled Audio Event System code, editor tools, prefabs, demo scenes, SoundEvent workflow, and documentation.Third-party license details are included in the package in Third-Party Notices.txt and the included license reference files.Please review those files for source, license, and usage details.🧱 Render Pipeline InformationThe runtime audio system is render-pipeline independent and can be used in Built-in, URP, or HDRP projects.The included demo scenes/materials support Built-in and URP. HDRP users may need to convert demo scene materials for their project, but the core audio runtime, editor tools, prefabs, SoundEvent workflow, and API do not depend on any specific render pipeline.Optional URP demo support is included for users who want the demo scenes to display correctly in URP projects.📝 TextMeshPro NoteThe core audio system does not require TextMeshPro.Some demo UI uses TextMeshPro. If demo text is missing in a fresh project, import TMP Essential Resources.🚀 Good For• Open-world games• Survival games• Shooters• AI crowd scenes• Horde games• Vehicle systems• Traffic systems• City sandboxes• Action games• UI-heavy projects• Audio-heavy prototypes• Projects that need cleaner pooled playback instead of scattered AudioSources🎯 GoalThe goal is simple:Author sounds once, play them anywhere, avoid AudioSource spam, and keep large gameplay audio easier to manage.Supported Unity version: 2022.3 LTS+Render pipeline: Built-in / URP / HDRP compatible. Runtime audio system is render-pipeline independent.Dependencies: TextMeshPro for demo UI only.External middleware: None.Input system: Demo FPS controller uses Unity’s classic Input API by default.Package type: .unitypackageNamespaces: STLDynamics.PooledAudio and STLDynamics.PooledAudio.DemoDocumentation included: YesDemo scenes included: YesEditor tools/custom inspectors included: Yes


