Problem
My compressor plugin correctly shows mono/stereo configurations in VST3, but AU only shows stereo despite identical code.
Environment
- JUCE version: [8.0.12]
- macOS version: [Sequoia 15.7.3]
- Projucer settings:
- No Plugin Channel Configuration (only inside the code)
- Plugin Formats: VST3, AU (both enabled)
Code
Constructor:
CompAudioProcessor::CompAudioProcessor()
: AudioProcessor(BusesProperties()
.withInput("Input", juce::AudioChannelSet::stereo(), true)
.withOutput("Output", juce::AudioChannelSet::stereo(), true)
.withInput("SideChain", juce::AudioChannelSet::stereo(), false)),
parameters(*this, nullptr, "KrystalParams", Parameters::createParameterLayout()),
compressor(/* ... */)
{
Parameters::addListenerToAllParameters(parameters, this);
}
isBusesLayoutSupported:
bool CompAudioProcessor::isBusesLayoutSupported(const BusesLayout& layouts) const
{
auto mainIn = layouts.getMainInputChannelSet();
auto mainOut = layouts.getMainOutputChannelSet();
if (mainIn != AudioChannelSet::mono() && mainIn != AudioChannelSet::stereo())
return false;
if (mainIn != mainOut)
return false;
if (layouts.inputBuses.size() > 1)
{
auto scSet = layouts.getChannelSet(true, 1);
if (scSet != AudioChannelSet::disabled() && scSet != mainIn)
return false;
}
return layouts.inputBuses.size() <= 2 && layouts.outputBuses.size() == 1;
}
Screenshots
VST3 vs AU I/O config comparison:
What I’ve tried
- Set Plugin Channel Configurations to {1, 1}, {2, 2} (these works but I can’t have the sidechain this way)
- Cleared AU cache multiple times
- Rebuilt project from scratch
- VST3 works perfectly, AU ignores the configuration
Is there something specific AU requires beyond isBusesLayoutSupported()?

