audio-analysis
AudioAnalysis
Real-time audio signal analysis attached to any entity that already has an AudioSource, AudioStream, or VideoPlayer. The renderer analyzes the audio frame buffer and writes results back into the component each tick. Scenes read those results to drive visualizers, beat-reactive geometry, audio-driven lights, etc.
RULE: Requires an audio-emitting component on the same entity
AudioAnalysis does nothing on its own. The entity MUST also have one of: AudioSource, AudioStream, or VideoPlayer. The renderer taps that component's audio frame buffer to compute amplitude/bands. An entity with only AudioAnalysis produces no data.
RULE: Audio must be playing for non-zero output
Values are derived from live audio frames. If the source is paused, muted, or not yet loaded, amplitude and all bands[] stay at 0. There is no "ready" event — start your reactive systems unconditionally, they will simply animate toward 0 while silent.
RULE: Not implemented everywhere — always design a silent fallback
- Unity (desktop): implemented.
- Mobile (Godot):
AudioAnalysis(PBAudioAnalysis) ships in mobile v1.14.0 (Sep 2026) along with the broader audio parity work andAudioEvent(docs commitb4d4c88). Older mobile clients write no analysis. - Bevy: ignores the component (no analysis written).
Where it is unimplemented the values simply stay at 0 — same shape as silence — so the scene never errors, it just goes still. Always design a fallback that does not depend on amplitude (e.g. a base scale, a looping tween) so the scene still reads on every client.