AUv2 and AUv3 compatibility

Still getting reports from users that they can’t load the iOS AUv3 presets in Logic X with the AUv2. What is the best solutions to resolve this?

I think about following steps to solve the problem:

  • Patching JUCE and ignore the loading error
  • Upgrade the AUv2 to AUv3 (not sure what that does mean for existing AUv2 users)
1 Like

I’d be keen to hear suggestions as well. Releasing AUv3 for macOS has some non-trivial implications that we’ve observed:

  • Sandboxing: it seems AUv3 on macOS runs in a sandbox which could mean that files (presets etc) saved by AUv2, VST, VST3 are not accessible (?)
  • Resizing: from what I’ve seen, an AUv3 plug-in size is determined by the host and not by the plug-in like AUv2, causing resizers etc to stop working
  • Logic seems to always open AUv3 if both AUv2 and AUv3 of the same plugin are installed, which could be challenging for users who don’t like the limitations that come with AUv3…

A way to allow JUCE plugins to work seamlessly between AUv2 on macOS and AUv3 in iOS would certainly be the easiest solution…

There are ways to disable file sandboxing in AUv3, so this shouldn’t be a problem as long this workarounds still work. Only network access is limited if i remember right. It will be impossible to add a subscription license in the future or verify the license because of this. This is the reason why i would like to stay with the AUv2 to keep this option open.

This is true.

2 Likes

Bump.

Has anyone solved the iOS AUv3 ↔ macOS AUv2 compatibility yet when exchanging Logic or GarageBand projects between Mac and iPad?

Is this issue still on the list for the JUCE team to look at?

Any hints would be welcome, thanks!

Bump…

was this incompatibility between macOS AUv2 and iOS AUv3 ever resolved in JUCE?

1 Like

It looks as if everything is now working. Can anyone confirm this?

For my case, I now have good compatibility between logic ios and logic macos. But I think you still have to be extra careful for the ordering of parameters. if you’re not using JUCE_FORCE_USE_LEGACY_PARAM_IDS, juce will sort them differently in AUv3 and AUv2. If you set a different value for the versionHint of each of your parameter, you can control their order in the final flat list of parameters. Their index in that flat list is used by Logic for identifying that param in automation tracks: if you do not do that, then the wrong parameter will be automated when the project moves from ios to macos.

1 Like

I’m also using JUCE_FORCE_USE_LEGACY_PARAM_IDS but I also enabled JUCE_FORCE_LEGACY_PARAMETER_AUTOMATION_TYPE. Think this breaks the parameter value scaling. I will make some tests if I have some time.