Skip to content

Android Audio Reactivity#1056

Closed
andybak wants to merge 16 commits into
mainfrom
feature/android-audio-reactivity
Closed

Android Audio Reactivity#1056
andybak wants to merge 16 commits into
mainfrom
feature/android-audio-reactivity

Conversation

@andybak

@andybak andybak commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an IL2CPP/AOT-friendly (managed) audio analysis path and switches mobile builds to use Unity app-output audio for “audio reactive” visuals, with additional diagnostics to validate Android behavior.

Changes:

  • Added managed FFT + biquad filter implementations (and editor tests) for platforms where CSCore/system-audio capture isn’t available (eg. Android/iOS, IL2CPP).
  • Updated audio analysis/capture compile-guards to separate “system audio capture” from “audio analysis”, and routed low/high-pass data into the appropriate injectors.
  • Adjusted mobile UX messaging and added Android-specific logging for capture/visualizer state and sample/FFT stats.

Reviewed changes

Copilot reviewed 10 out of 12 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
Assets/Scripts/VisualizerManager.cs Switches FFT/filter backend selection, fixes band normalization edge-case, routes low/high-pass to injectors, and adds Android logging.
Assets/Scripts/VisualizerManagedAnalysis.cs.meta Unity meta for new managed analysis script.
Assets/Scripts/VisualizerManagedAnalysis.cs New managed FFT + filter implementations intended for IL2CPP/AOT platforms.
Assets/Scripts/VisualizerCSCoreFilter.cs Tightens CSCore usage guards to exclude mobile and allow explicit system-capture disable.
Assets/Scripts/VisualizerCSCoreFFT.cs Tightens CSCore usage guards to exclude mobile and allow explicit system-capture disable.
Assets/Scripts/Tools/MultiCamTool.cs Updates mobile prompt text to reflect “in-app” audio source.
Assets/Scripts/SystemAudioMonitor.cs Aligns CSCore/system-audio capture compilation guards with new define.
Assets/Scripts/AudioCaptureManager.cs Defaults mobile to App audio capture and improves App capture activation behavior; adds Android logs.
Assets/Scripts/AppAudioMonitor.cs Drives visualizer from Unity mixed output on mobile; adds optional debug tone and Android logs.
Assets/Editor/Tests/TestVisualizerManagedAnalysis.cs.meta Unity meta for new managed analysis tests.
Assets/Editor/Tests/TestVisualizerManagedAnalysis.cs Adds tests covering managed FFT bin detection and managed filter behavior.
Assets/Editor/BuildTiltBrush.cs Changes IL2CPP build define from disabling all audio capture to disabling only system-audio capture.
Files not reviewed (2)
  • Assets/Editor/Tests/TestVisualizerManagedAnalysis.cs.meta: Language not supported
  • Assets/Scripts/VisualizerManagedAnalysis.cs.meta: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Assets/Scripts/VisualizerManagedAnalysis.cs
Comment thread Assets/Scripts/VisualizerManager.cs Outdated
Comment thread Assets/Scripts/VisualizerManager.cs Outdated
Comment thread Assets/Scripts/AudioCaptureManager.cs Outdated
Comment thread Assets/Scripts/AudioCaptureManager.cs Outdated
Comment thread Assets/Scripts/AppAudioMonitor.cs Outdated
Comment thread Assets/Scripts/AppAudioMonitor.cs
@andybak

andybak commented Jun 13, 2026

Copy link
Copy Markdown
Contributor Author

This isn't much use without audio widgets which are folded into #985 now. Folded this in also so we can close the PR

@andybak andybak closed this Jun 13, 2026
@andybak andybak deleted the feature/android-audio-reactivity branch June 18, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants