Skip to content

How Logic Pro builds its plug-in menus

Install a few hundred Audio Units and the Audio FX insert menu in Logic Pro stops being a menu and becomes a wall. Logic does have a mechanism for organizing it. The mechanism is a folder of tag files, a colon convention hidden inside category names, and a sort order with one hard exception that catches almost everybody.

Every behaviour described below was measured against a live copy of Logic Pro on 19 August 2026. Nothing here is inferred from the file format or from Apple's documentation. Logic is Apple's software and Apple can change any of it: if your menu disagrees with this page, your menu is right.

Where Logic keeps the tags

Logic Pro reads the categories that build its plug-in menus out of a folder in your home directory:

~/Music/Audio Music Apps/Databases/Tags/

It is per user, not per project and not inside the Logic Pro application. Two things follow from that. The arrangement travels with your account rather than with any one song, so a category you make while working on one project is there in all of them. And it is an ordinary folder of ordinary files, so it can be copied before anything changes it.

A colon in a category name becomes a submenu level

This is the mechanism everything else on this page rests on, and it is the part that is hardest to find written down anywhere. When Logic builds the Audio FX insert menu, it reads a colon inside a category name as a level separator.

A plug-in carrying the single category

Arturia:Compressor

does not turn up in a category literally called “Arturia:Compressor”. It turns up three levels deep in the menu, as

Arturia ▸ Compressor ▸ Bus FORCE

where the last level is the plug-in itself. The category is one flat string on disk. The menu is a tree. The colon is the only thing that turns one into the other, and it is the entire reason a tag database with no notion of hierarchy can produce a hierarchical menu.

Three levels were verified. Nothing measured here establishes an upper limit on how deep the nesting goes, so if you need a fourth level, test it rather than trusting this page for it.

Logic’s own categories are colon-nested too

Worth stating on its own, because it changes how much weight the previous section can carry. Colon nesting is not a trick discovered at the edge of an undocumented format. Logic’s own stock categories are written the same way. One of the ones that ships with the application reads:

Amps and Pedals:Stompboxes:Distortion

Same shape, same three levels, produced by Apple. Using colons in your own category names is using the convention Logic already uses on itself.

A category named “Audio Units” does not merge into Logic’s Audio Units menu

This is the single most useful fact on this page, because it is the one that looks obviously true and is not.

At the bottom of the Audio FX menu, below a divider, Logic keeps its own Audio Units ▸ entry: everything installed, grouped by manufacturer. It looks like the natural home for your own structure, and naming a category Audio Units:Arturia:Test looks like the way to put something inside it.

It does not merge. What you get is a second, separate Audio Units ▸ root of your own, which then sorts alphabetically among your other categories. In the measurement it landed between Arturia and Audiomovers, exactly where an alphabetical sort puts a name starting “Audio U”. The built-in one stayed where it was, below the divider, unchanged.

Two menus with the same name, holding different things, one in each half of the insert menu. The practical rule is short: do not name a category “Audio Units”. There is no spelling of it that reaches Logic’s own.

Your categories sort above the divider, Logic’s sits below

The insert menu is in two halves. Categories you created sit above the divider and sort alphabetically among themselves. Logic’s built-in Audio Units ▸ sits below it and takes no part in that sort.

That is why the second root in the previous section landed next to Arturia rather than next to the thing it was named after. Where a category appears in the top half is decided by its name and by nothing else.

What “alphabetically” turns out to mean

Alphabetical is a word that hides a decision: which order exactly, and where do characters that are not letters fall? That was measured in the same session. Three categories named ~Test, zzTest and ΩTest were created with one plug-in each, and the menu was read from the bottom up. Above the divider, the order came out:

So Logic’s comparator behaves like a scalar, ASCII-like sort rather than a localized one: the tilde sorts after the letters, and the Greek capital after that. The useful consequence is that a category can be parked at the bottom of your half of the menu, right above the divider, by starting its name with a character that sorts after the letters.

This is where the page stops reporting and starts reasoning, so treat the next sentence accordingly. If the comparator really is scalar rather than localized, then a category beginning “Aa” should not collate as Å the way a Danish or Norwegian sort would put it. It should land where a literal A followed by a literal a lands, at the top. That follows from the probe above; it was not itself tested, and it is the kind of thing worth trying with one throwaway category before naming forty of them.

A leading space sorts a category first

The other end of the same rule, and the answer to the common question of how a single plug-in gets pinned to the top level instead of living inside a folder. A category name beginning with a space sorts ahead of every name beginning with a letter, so it lands at the top of your half of the menu.

That is the whole of the trick: give the plug-in a category named after the plug-in itself with a leading space, for example Screamer, and it appears as a single top-level entry rather than as a folder you have to open. Nothing special happens to the space. It is an ordinary character in an ordinary name, sorting where a space sorts.

The Plug-In Manager lists the same tag differently

The same category renders two ways in two places, and this is a real source of confusion rather than a curiosity.

In the channel-strip Audio FX menu, Arturia:Compressor is a two-level path. In the Plug-In Manager sidebar it is a single row reading Arturia:Compressor, colon and all. The sidebar lists category names literally, with no nesting at all.

Neither view is wrong. They are two renderings of one string. But if you build your categories while looking at the Plug-In Manager, the structure you are designing is invisible in the window you are designing it in, and the only place it becomes visible is the menu you were trying to fix in the first place.

The whole thing in five rules

Doing it by hand, and not

All of this can be done by hand. The files are in the folder named at the top of this page and a category is only a string, so a text editor and patience are technically enough. What makes it tedious rather than difficult is scale and feedback: the arrangement is made one plug-in at a time, the effect of a name is only visible after Logic has been restarted, and the window you edit in does not show the tree you are building.

Logic Plugin Organizer is the Mac app we make for that job. It writes the same tag database this page describes, backs up what it finds before it writes, and shows you the resulting menu first. Nothing on this page depends on it.

Independent companion app. Not affiliated with or endorsed by Apple Inc.

Logic Pro is a trademark of Apple Inc.

Found something that does not match?

This page is only as good as its last measurement, and Logic Pro changes. If a behaviour described here disagrees with what your copy of Logic does, open an issue on the Logic Plugin Organizer tracker linked in the footer and say which version you are on. A correction is worth more to us than a page that stays tidy.