AUv3 - what is it?

so I am pretty familiar with the “classic” plugin formats and their concept (VST3, AUv2, AAX), but I can’t get my head around AUv3 format and can’t really find an indepth explanation. Like being the extension, and not being able to run without applicatoin (i guess?). Complementarity with AUv2?

Could someone please explain it to me like I am a noob? Or at least point me in the right direction? Explain the main difference between AUv2 and AUv3 (or the other formats)? The Apple documentation has some tutorials but I didn’t really get the whole picture.


1 Like

AUv3 is pretty much the same as AUv2 under the hood, but it provides a different API (using Objective-C rather than C or the C++ wrapper classes used by v2).

In addition, AUv3 is intended to be delivered as an app, which is needed for the iOS App Store. Inside this app must be an app extension (or appex), which allows the plug-in to be used by another app. This is different than using a shared library like AUv2 does; the appex isn’t really loaded into the other app, they can only communicate.

(Inside the appex can be a shared library / framework, just like AUv2 is, which allows the plug-in to be loaded in-process but that only works on macOS and is not a requirement.)

So in short: AUv3 is an Obj-C wrapper around AUv2 that is delivered as an app and works as an appex so that it can be used by iOS apps. And also Mac apps.

(BTW, the only in-depth explanation is in WWDC videos from many years ago.)


Thank you for your swift answer!

So basically AUv3 was invented so it could be easily distributed and used on iOS and it just happens to have AUv2 guts under the hood, because it simply is good?

If you were to distribute and use your AUv3 plugin/application on macOS, you need to download it from the App Store, or it has a designated folder like other plugin formats that the DAW will look for?

Pretty much, yes.

You don’t need to download AUv3 from the Mac App Store, but you can (whereas AUv2 can’t be distributed this way since they aren’t apps). You could put a zip file with the AUv3 app on your own website, for example.

The plug-in isn’t installed in a designated folder like AUv2 or VST. Once the app is downloaded (and maybe you need to run it at least once, not sure) the appex is registered with the system and the plug-in will be available to hosts.

You can list all the appex on your system with:

$ pluginkit -mv

How would you go about debugging an AUv3?

I can debug the V2’s pretty easy but unsure about the AUv3?