Features Studio Pricing Docs — Studio Docs — Music Player Docs Blog About Support
↓ Download iOS / iPadOS macOS visionOS Companion App

hc_vstpipe — Host Real VST3 & AudioUnit Plugins From a Mac

hc_vstpipe is a bridge plugin, available as an AUv3 you can load on any audio or MIDI track in Homecrate. It does not process audio itself. Instead it sends that track’s audio, MIDI and transport position to a small free companion app — homecrate VST Pipe — running on an Apple Silicon Mac, which loads the real VST3 or AudioUnit plugin in its own process and sends the processed audio straight back. In the DAW it behaves like any other plugin slot: you pick it, you pick a plugin inside it, its parameters show up as automatable controls, and the binding saves with your project. It is not an emulation and not a re-implementation — it really is your plugin, running natively, with its own editor available on the Mac.


🟢 New to this? If Homecrate and the companion are on the same Mac, there is nothing to set up. Launch the companion, load hc_vstpipe on a track, and the status dot goes green. Skip to Quick Start.

🔵 Want the shape of it? One hc_vstpipe instance is either an insert effect on an audio track or a MIDI-driven instrument on a MIDI track — the same plugin does both jobs, and which one it is depends only on where you load it. All the actual plugin hosting happens in the companion on the Mac, which is why the plugin’s own editor opens over there while its parameters appear in Homecrate as sliders you can automate. Where the companion runs is the only thing that changes the sound: on the same Mac it is effectively instant, and over a network there is a small unavoidable delay. The plugin you bound and its parameter values save with your project, and the connection re-establishes itself on its own.


Why It Works This Way

Homecrate cannot load a VST3 — and on the Mac it cannot load your installed AudioUnits either. That’s structural, not a missing feature. Three separate walls, all hit at once:

  • Desktop plugin interfaces can’t be drawn inside the app. Nearly every VST3 draws its window using Mac-desktop-only interface code, and the Mac version of Homecrate — which is the iPad app brought to the Mac — has no way to put that window on screen.
  • The plugin-hosting code desktop DAWs rely on doesn’t build for this kind of app at all. It isn’t a matter of switching it on.
  • Loading unsigned third-party code would break the App Store sandbox. Homecrate is a Mac App Store app. Running arbitrary plugin binaries inside a sandboxed, App Store-distributed process is precisely what that sandbox forbids.

Splitting the hosting out into a separate, separately-distributed app solves all three at once. The companion ships outside the App Store — signed with a Developer ID and notarized by Apple — so it is allowed to do the thing the DAW isn’t. Homecrate stays a clean App Store citizen.

There’s a real bonus to the split, too: a plugin that crashes takes down the companion, not your session. Your project, your recording, your timeline and your other tracks are in a different process entirely.

[SCREENSHOT: hc_vstpipe editor — green CONNECTED dot, endpoint and latency line, bound plugin name, parameter sliders]


Quick Start

  1. On an Apple Silicon Mac, install and launch homecrate VST Pipe (free, from homecrate.app)
  2. Let it finish its first plugin scan — slow once, cached afterwards
  3. In Homecrate, open a plugin slot on a track and load homecrate: hc_vstpipe
  4. Open its editor. The dot at the top turns green and reads CONNECTED
  5. Tap a plugin in the list to bind it

Audio on that track now runs through the real plugin on the Mac and comes back processed. On the same Mac, that’s the whole setup — no addresses, no pairing, no settings.


What You Need

RequirementDetail
A MacApple Silicon only. The companion is built for arm64 and there is no Intel build. macOS 12 or later.
The companion apphomecrate VST Pipe — free, from homecrate.app. Currently version 0.1.0.
Your pluginsVST3 or AudioUnit plugins already installed on that Mac
HomecrateRunning on the same Mac, or on an iPhone/iPad that can reach that Mac over the network

The companion is not on the Mac App Store, and can’t be — loading third-party plugin code is exactly what App Store sandboxing forbids. It is Developer ID signed and notarized by Apple, so it opens normally without any security workarounds, and it updates itself from homecrate.app.

It is early software (0.1.0). It works, but expect it to move faster than the app does, and keep it current — several rough edges get fixed there rather than in Homecrate.


Loading hc_vstpipe in Homecrate

See Loading & Removing Plugins for the general steps. hc_vstpipe appears under the Effects tab of the Plugin Browser as homecrate: hc_vstpipe, and on MIDI tracks it also appears in the instrument picker (see Using It as an Instrument).

It’s a first-party homecrate plugin, so it is not behind the Pro gate that applies to third-party AUv3s — free and Pro users can both load it. See Pro.

It sits in the insert chain in slot order like any other plugin — see AUv3 Plugins Overview — and it is rendered into mixdowns and stems along with the rest of the chain.


Setting Up

On the same Mac — nothing to configure

The plugin looks for a companion on this machine by default, so when Homecrate and the companion are on the same Mac there is genuinely no setup:

  1. Launch homecrate VST Pipe
  2. Load hc_vstpipe on a track and open its editor

The dot goes green and reads CONNECTED. This is also the best-sounding configuration by a wide margin — see Latency and Connection Quality.

iPhone or iPad to a Mac — pair with a QR code

When Homecrate is on a different device from the companion, you have to tell it where to look. That’s all pairing is.

  1. Put both devices on the same network
  2. Launch homecrate VST Pipe on the Mac and open its pairing QR code
  3. In Homecrate, load hc_vstpipe on a track and open its editor
  4. Tap the PAIR chip — Homecrate opens a camera scanner titled Scan Pairing QR
  5. Point it at the Mac’s code

You get a Paired confirmation showing the host that was set, and the plugin reconnects to the Mac by itself within a couple of seconds. You only do this once: the address is stored app-wide, so every hc_vstpipe instance in every project uses it.

The pairing scanner is video only. It never adds an audio input, so scanning can’t disturb monitoring or an armed track. See Arming Tracks & Input Monitoring.

If you’d rather type an address than scan one, the scanner also accepts a plain host:port string.

[SCREENSHOT: QR pairing — companion app showing its code, iPad scanner overlay]

Going back to local

Paired to a remote Mac and want the plugin to use the companion on this machine again? Tap the LOCAL chip. It clears the stored address, goes back to looking on this machine, and reconnects.


The Interface

[SCREENSHOT: Full hc_vstpipe editor — status header, endpoint line, PLUGIN line, PARAMETERS, plugin list]

The editor is one scrolling column: three compact status lines at the top, then two stacked sections beneath them.

  1. Status line — the connection dot, hc·vstpipe, CONNECTED / DISCONNECTED, and a RETRY chip
  2. Endpoint line — the host address and current latency, plus UDP/TCP, LOCAL and PAIR chips
  3. Plugin linePLUGIN and the bound plugin’s name, plus EDIT and RESCAN
  4. PARAMETERS — the bound plugin’s parameters as sliders (appears once something is bound)
  5. PLUGIN LIST — the browser: search, format filter, A–Z sectioned list

The browser is open by default until you bind a plugin, at which point it collapses behind a CHANGE chip so the parameters stay front and centre.


Status Line

[SCREENSHOT: Status line — green dot, hc·vstpipe, CONNECTED]

ElementWhat it means
Dot + CONNECTEDGreen. The companion answered and the plugin is talking to it.
Dot + DISCONNECTEDGrey dot, orange text. Nothing is answering at the address on the line below.
RETRYOnly shown while disconnected. Forces an immediate fresh dial instead of waiting out the backoff, and re-reads the stored address.

If the dot is orange/grey, check that the companion is actually running before you go anywhere near network settings. That is the usual answer.


Endpoint and Latency Line

[SCREENSHOT: Endpoint line — local companion address and latency readout, with the PAIR chip]

The dim monospaced line shows the companion address and the current reported latency, formatted as samples and milliseconds — 512 smp (10.7 ms). It reads when nothing has been reported yet.

ChipWhen it appearsWhat it does
PAIRAlwaysOpens the QR scanner to point this device at a Mac
LOCALOnly when paired to a remote hostResets the address back to the local default and reconnects
UDP / TCPOnly when paired to a remote hostPicks which of the two connection modes to use over the network. UDP is on by default. Switching reconnects. If a connection is unstable, try the other one.

There is no UDP/TCP chip on a local connection, because when the companion is on the same Mac the audio never goes over the network at all — there is nothing to choose.


Plugin Line

[SCREENSHOT: Plugin line — PLUGIN, bound plugin name in mint, EDIT and RESCAN chips]

ElementWhat it does
PLUGIN readoutThe name of the currently bound plugin, in the accent colour. Shows when nothing is bound.
EDITOnly shown when a plugin is bound. Opens the plugin’s own native editor, on the Mac. This is inherent to out-of-process hosting — the real interface lives where the real plugin lives.
RESCANTells the companion to re-scan the Mac for newly installed plugins.

The Plugin Picker

[SCREENSHOT: Plugin picker — search field, format filter bar, A–Z sectioned plugin list with the bound row checked]

Tap CHANGE on the PLUGIN LIST header to open the browser (it’s already open until you bind something; the chip then reads HIDE while it’s showing).

ControlWhat it does
Search fieldFilters live by plugin name or manufacturer. The ⊗ button clears it.
Format barFilter chips — ALL plus one per format in your library. Only appears when you actually have more than one format installed. A count on the right shows how many plugins match.
A–Z railA fixed letter strip down the right edge; tap a letter to jump to that section. Only appears when the filtered list spans more than one section.
Plugin rowsName on top, manufacturer · format beneath. The bound plugin is highlighted with a checkmark.
CHANGE / HIDEShow or collapse the browser once a plugin is bound.

Names that don’t start with a letter bucket under #, which sorts last. The list is designed to stay responsive at several hundred plugins.

If the list is empty you’ll see “No plugins yet. Scan in the companion app, or tap RESCAN.”

One bad plugin can’t lock you out. The companion’s scanner runs behind a dead-man’s-pedal: if a plugin crashes the scan, it gets blacklisted so it can’t crash the scan again on the next attempt. The rest of your library still comes through.

Binding is also safe to do mid-playback. The companion has the new plugin ready before it takes over, and audio passes through untouched for the instant of the changeover — so swapping plugins while the transport is rolling won’t glitch or drop the track.


Parameters and Automation

[SCREENSHOT: PARAMETERS section — parameter count, named sliders with live value text]

Once a plugin is bound, its parameters appear under PARAMETERS, with a count next to the heading. Each row is a name, the plugin’s own formatted value text, and a slider.

The companion is the source of truth for parameter values, because it owns the actual plugin. That has a genuinely useful consequence: if you tweak a knob in the plugin’s native editor on the Mac, Homecrate picks the change up within a couple of seconds and the sliders catch up on their own. You can work in whichever editor you prefer and never lose the other one’s edits.

Dragging a slider in Homecrate pushes the value to the companion continuously while you drag, and always flushes the final value when you let go — so the value you land on is the value the plugin gets.

Automation

Every parameter of the bound plugin is also exposed to the DAW as a real automatable control, and the list refreshes whenever you bind a plugin with a different parameter set. That means they show up as automation targets in the clip editors, exactly like a first-party plugin’s controls — see Automation. They’re available in both the audio clip editor and the MIDI clip editor, so a hosted instrument’s filter cutoff can be drawn into a MIDI clip.

Dense automation is safe. Homecrate paces the updates it sends to the companion, so even a fast ramp across every parameter at once won’t swamp the connection, and the final value of a move always lands.

Two practical notes:

  • Bind the plugin before you draw automation. The available targets come from whatever plugin is currently bound, so switching plugins changes the list.
  • If the parameter list is empty and the plugin definitely has controls, update the companion app. An out-of-date companion can report no parameters at all. The editor also says “Connect to load parameters.” when the connection is down, and “This plugin exposes no parameters.” when the plugin genuinely has none.

Using It as an Insert Effect

The ordinary case: a compressor, EQ, reverb, saturator, tape emulation or amp sim on an audio track.

  1. Open a plugin slot on the track and load homecrate: hc_vstpipe
  2. Open its editor
  3. Pick your plugin from the list

Everything else about the slot behaves normally — it sits in the chain in slot order, it can be bypassed, and it is included in mixdowns and stems. See Mixing Down to Stereo and Exporting Stems.

It also works in a Master Track plugin slot for bus processing — see Adding & Removing Tracks.

Mono plugins don’t collapse your stereo chain

If the plugin you bind only handles one channel, the companion runs two linked copies — one per side — and mirrors every parameter change from the first onto the second, so they can never drift apart. You don’t configure anything and you don’t lose your stereo image. A mono-only vintage EQ behaves like a stereo one.


Using It as an Instrument

hc_vstpipe can also host a VST or AU instrument driven by a MIDI track. Because it can receive MIDI as well as audio, Homecrate’s instrument picker allows it, so it appears on MIDI tracks alongside homecrate’s own instruments.

  1. Create a MIDI track — see MIDI Tracks Overview
  2. Set its instrument to homecrate: hc_vstpipe
  3. Open the editor and bind a VST instrument

Notes and controller messages from the piano roll are forwarded to the instrument on the Mac, and the instrument’s audio comes back on that track. A CPU-heavy sampler or synth is the single best argument for the same-Mac setup — you get desktop-class processing without it costing the iPad anything.


Transport and Tempo Sync

The hosted plugin isn’t free-running. Homecrate sends the companion your project’s tempo, time signature, play state and position in the song, and the hosted plugin sees a playhead that matches the one in Homecrate. Tempo-synced delays, LFOs, arpeggiators and step sequencers inside it therefore lock to your project’s clock and your project’s bar lines, exactly as they would in a desktop DAW.

This holds on a network connection as well as on the same Mac — a hosted plugin’s dotted-eighth delay will still be a dotted-eighth delay at your project tempo. Changing the tempo mid-session is picked up as you’d expect; you don’t have to reload the plugin.


Latency and Connection Quality

The endpoint line shows the current latency next to the address. What you get depends entirely on where the companion is.

Same Mac — effectively instant

When Homecrate and the companion are on the same Mac, the audio never goes over the network at all, and there is no added delay you will be able to hear or play against. The readout sits at or near zero and it feels exactly like a plugin hosted inside the DAW. Nothing to configure, nothing to tune — this is simply what you get.

This is the configuration to use whenever you can. Everything below is a compromise against it.

Over a network — a small unavoidable delay

Sending audio to another machine and back across Wi-Fi takes time, and no amount of setting-fiddling removes it. A remote connection therefore has real, measurable latency — you’ll see it on the endpoint line, and on a busy or weak network it will be higher.

That makes a remote connection very usable for mixing, for auditioning plugins, and for playing parts in where a few milliseconds don’t bother you. It is not going to match a wired desktop setup, and it is not the setup for tracking a tight performance against a click.

A UDP / TCP chip appears on remote connections. UDP is the default and the one to try first. If a connection is unstable — dropouts, crackle, or a latency number that keeps climbing — switch to TCP and see whether it settles. There’s no wrong answer; use whichever behaves better on your network.

If neither mode is stable, the problem is the network itself, and the fix is a better one: get closer to the router, use 5 GHz, or move both to the same Mac. See Known Limitations — there is no cable option.


Connection Behaviour

The connection looks after itself.

  • It keeps retrying on its own. If the companion isn’t running, or the network drops, or you put the iPad down for a while, the plugin keeps trying in the background, waiting a little longer between attempts rather than hammering, and goes back to normal the moment it gets through.
  • It re-reads the address every attempt, so a LOCAL reset or a fresh QR pair takes effect on the very next dial without you touching anything else.
  • It replays your binding. On every reconnect the plugin re-sends the plugin you had bound, so you come back to the same setup.
  • It survives transport stop/start. Stopping and starting playback does not tear the pipe down.
  • RETRY forces an immediate attempt if you don’t want to wait.

If you’re on the same Mac and the companion hasn’t started yet, the plugin simply waits — it does not thrash, and it connects on its own the moment the companion comes up.


Saving With Your Project

Everything about the binding persists, on both sides:

  • In your Homecrate project. The plugin saves which plugin you chose and a snapshot of that plugin’s parameter values into the project file. Reopen the project and it re-binds as soon as it connects, then restores the parameter values once the plugin has loaded.
  • In the companion. The companion separately remembers which plugin belongs to which pipe, so quitting and reopening the companion brings the same plugin back on the same slot.

Between the two, you can quit the companion, restart the Mac, or come back to a project a month later and pick up where you left off. Project export/import carries the binding too — see Sharing & Importing Projects — though the other machine obviously needs the same plugin installed.

The snapshot is kept current by the same catch-up that feeds the sliders, which means edits you make in the plugin’s native editor on the Mac are captured into your project even if you never touch a slider in Homecrate.


Known Limitations

Worth knowing before you plan a session around this.

  • No USB cable connection. You cannot connect an iPhone or iPad to the Mac with a cable and use it as the audio path. The connection is either the same machine, or over the network — there is no cable option, and it isn’t something you’ve configured wrongly. If your Wi-Fi is poor, the fix is a better network.
  • Apple Silicon Macs only. There is no Intel build of the companion, and none is planned. macOS 12 or later.
  • Parameter automation isn’t device-verified yet when Homecrate is running on the Mac itself. It is implemented and expected to work there, but it has not been confirmed on the Mac the way it has on iPhone and iPad. If you’re relying on it in a Mac session, test it before you commit to it.
  • Stereo in, stereo out. Each instance runs as a stereo insert, or a stereo instrument. There is no mono-insert mode, no MIDI-effect mode, and no way to record on the companion side.
  • The plugin’s real editor opens on the Mac. That’s inherent to out-of-process hosting — the EDIT chip opens the plugin’s own window over there, not in Homecrate. The parameter sliders are what you get in-app.
  • The companion is early. Version 0.1.0. It self-updates from homecrate.app; keep it current.

Pro

hc_vstpipe is not Pro-gated. It’s a first-party homecrate plugin, and it’s exempt from the Pro requirement that applies to third-party AUv3 plugins — so free and Pro users can both load it and both host VST3 and AudioUnit plugins from the Mac through it.


When It Doesn’t Connect

Work down this list. It’s almost always one of the first three.

  1. Is the companion running? A grey dot and DISCONNECTED with a local address on the endpoint line almost always means the companion isn’t up on this Mac.
  2. Has the companion finished its first scan? Until it has, the list shows “No plugins yet.” The first scan is slow; every one after that is instant. RESCAN re-runs it.
  3. Are both devices on the same network? For a paired setup this is the whole ball game. Check the address on the endpoint line is the Mac you think it is.
  4. Did you mean to be paired at all? If the endpoint line shows a remote address but the companion is on this machine, tap LOCAL.
  5. Parameters empty on a plugin that has knobs? Update the companion.
  6. Latency climbing over Wi-Fi? Try the other connection mode with the UDP / TCP chip, or move closer to the router.
  7. Nothing at all after an address change? Tap RETRY rather than waiting out the backoff.

For general recording and sync problems, see Troubleshooting.


Tips

  • If both can run on the Mac, do that. The same-machine path is dramatically lower latency than any network path, and it needs no setup at all. Everything else here is a compromise against that.
  • Let the companion finish its first plugin scan before you go looking for plugins. It’s slow once and instant afterwards.
  • Use EDIT to open the plugin’s real editor on the Mac for detailed dialling in, then use Homecrate’s sliders for the handful of parameters you actually want to automate. The two stay in sync in both directions.
  • Bind before you automate. Automation targets are built from the currently bound plugin, so switching plugins changes what’s available to draw.
  • A CPU-heavy instrument is the best argument for the same-Mac setup — desktop-class processing that costs the mobile device nothing.
  • One instance per plugin. Each hc_vstpipe slot is its own pipe with its own binding and its own saved parameters, so a chain of three hosted plugins is simply three slots.
  • Don’t worry about mono plugins. The companion doubles them automatically and keeps the pair parameter-locked; your stereo image survives.
  • If you want the hosted plugin’s sound baked into an audio clip so the session no longer depends on the Mac, set the track’s input to Plugin Output and record — see Arming Tracks & Input Monitoring. This is the safest way to hand a project to someone who doesn’t own the plugin.
  • Keep an eye on the latency readout when working over Wi-Fi. A number that climbs and stays high is a network problem, not a plugin problem.

Next steps