A high-performance, thread-safe bridge to play AudioSource sounds directly from Burst-compiled ECS jobs. Features Zero-GC pooling, smart voice stealing, and loop tracking with no main thread stalls.Supported Unity Versions: 2022.3 LTS and higher.Dependencies:com.unity.entities (1.0.0 or newer)com.unity.burstPlatforms: Compatible with all platforms supported by Unity Burst (PC, Consoles, Mobile, WebGL).com.unity.collectionsRender Pipelines: Compatible with Built-in, URP, and HDRP (System is purely logic/audio based).Triggering standard Unity audio from pure ECS is notoriously difficult. Audio Dispatcher solves this elegantly.Audio Dispatcher for DOTS is a production-ready, Data-Oriented audio bridging system. It allows your Burst-compiled Jobs to trigger, move, and stop managed AudioSource components without ever touching the Managed Heap or stalling the Main Thread.How it works:Instead of forcing the Main Thread to wait for your Jobs to finish, the system uses a Double Buffering Command Architecture. Your high-frequency systems (like bullets or explosions) write 32-byte cache-aligned events into a lock-free queue. A dedicated Burst-compiled "Brain" processes these events, handles pooling logic, and passes a clean command buffer to the Main Thread for execution.Perfect for any genre:Whether you are building a massive RTS, a chaotic Bullet Hell, or a fast-paced Shooter, this tool ensures your audio scales with your entity count.Developer Friendly:You don't need to write boilerplate code. Use the included Fluent API to trigger sounds directly inside your IJobEntity:AudioID.EXPLOSION.Shot(position).Volume(0.8f).Apply(writer);Key Highlights:Clean Archetypes: Looping sounds (like tank engines) follow your entities using "Shadow Tracking", meaning your core gameplay entities remain untouched and tightly packed in memory.Smart Voice Stealing: If your audio pool is full, the system doesn't just cut off random sounds. It calculates priorities and replaces the quietest/furthest sound automatically.Stable IDs: Audio IDs are generated as stable Hashes. Reordering your audio database will never break your code.Architecture & Performance:100% Burst Compatible: Trigger sounds from any Job or System.Zero GC Allocations: Fully pre-allocated object pools for both One-Shot and Looping sounds.No Main Thread Stalls: Double Buffering ensures the Main Thread never waits for ECS workers.Cache Optimized: AudioEvent structs are explicitly packed to 32 bytes, allowing exactly two events per CPU cache line.Features:Priority-Based Voice Stealing: Automatically recycles the lowest-volume AudioSources when pools reach capacity.Shadow Entity Loop Tracking: Attach looping sounds to moving entities. The system automatically stops the sound when the target entity is destroyed.TimeScale Independent: Uses AudioSettings.dspTime to ensure sound lifetimes are calculated correctly even during slow-motion effects.Fluent Builder API: Clean, chainable syntax for triggering sounds.AudioMixer Support: Route sounds to different Mixer Groups (SFX, Music, UI).3D Spatial Audio: Full support for Spatial Blend, Min/Max Distance, and Rolloff curves.Auto-Generated C# Constants: Eliminates string-based lookups and typos using stable Hash IDs.Artificial Intelligence tools were utilized to assist in the preparation and presentation of this package. Specifically, AI was used for the following aspects:Store Description: AI language models assisted in drafting, refining, and formatting the marketing copy, including the package summary and feature descriptions for the Asset Store page.Documentation: AI was used to help structure, proofread, and write the technical documentation (README and PDF guides) to ensure the instructions are clear, professional, and easy for users to understand.(Note: The core C# codebase, ECS architecture, and DOTS integration were developed manually without AI generation).




