Quick Start

Get your first plugin built and signed in under 10 minutes.

Prerequisites

  • BeatConnect account with Developer tier
  • GitHub account
  • A JUCE + CMake plugin project (or use our template)

Step 1: Connect GitHub

  1. Go to Creator PortalDeveloper Settings
  2. Click Connect GitHub
  3. Authorize the BeatConnect GitHub App
  4. Select which repositories to give access to

GitHub Connection

Tip: You can connect multiple GitHub accounts or organizations.

Step 2: Prepare Your Repository

Option A: Start Fresh with Template

One command creates your repo with the topic already set:

gh repo create my-plugin --private --clone --template beatconnect/plugin-template && gh repo edit --add-topic beatconnect-plugin

This creates a private repo from our template, clones it locally, and adds the discovery topic.

Option B: Push Existing Local Project

If you already have a local JUCE project:

gh repo create my-plugin --private --source=. --push && gh repo edit --add-topic beatconnect-plugin

Option C: Add Topic to Existing GitHub Repo

If your project is already on GitHub:

gh repo edit YOUR_USERNAME/my-plugin --add-topic beatconnect-plugin
  1. Go to Creator PortalProjects
  2. Click New ProjectLink External Repository
  3. Select your repository from the list
  4. Configure project settings:
    • Name: Display name for your plugin
    • Description: Short description
    • Visibility: Private (default) or Public

Step 4: Trigger Your First Build

  1. Open your linked project
  2. Click Build in the top right
  3. Configure build options:
OptionRecommendation
PlatformsBoth macOS and Windows
FormatsVST3 (and AU for macOS)
Release TypeDevelopment (for testing)
  1. Click Start Build

Step 5: Monitor Build Progress

The build page shows real-time progress:

✓ Cloning repository
✓ Configuring CMake
● Building for macOS...
  └─ Compiling sources (45%)
○ Building for Windows
○ Code signing
○ Notarizing (macOS)
○ Uploading artifacts

Build times:

  • Simple plugin: 3-5 minutes
  • Complex plugin: 8-15 minutes

Step 6: Download Your Plugin

Once complete:

  1. Click Download next to each artifact
  2. Or click Download All for a ZIP with everything

Your signed binaries are ready to distribute!

What Just Happened?

Behind the scenes, BeatConnect:

  1. Cloned your repository securely
  2. Built for macOS Universal (Intel + Apple Silicon) and Windows x64
  3. Signed with our Apple Developer certificate
  4. Notarized with Apple for Gatekeeper approval
  5. Signed Windows binaries with Authenticode
  6. Uploaded artifacts to secure cloud storage
  7. Deleted your source code (we never store it)

Next Steps

Customize Your Build

Set Up Continuous Builds

Distribute Your Plugin

Common First-Build Issues

”CMake configuration failed”

Your CMakeLists.txt might have issues. Check:

# Required: Project must define these
cmake_minimum_required(VERSION 3.22)
project(MyPlugin VERSION 1.0.0)
 
# JUCE must be findable
add_subdirectory(external/JUCE)
 
# Plugin target must be defined
juce_add_plugin(MyPlugin ...)

“Build succeeded but plugin doesn’t load”

Common causes:

  • Missing JUCE modules in CMake configuration
  • Audio processing code crashes on load
  • Incompatible JUCE version

”Repository not found”

Ensure:

  • GitHub App has access to the repository
  • Repository is not archived
  • You have push access to the repository

See Troubleshooting for more solutions.

Example: Complete CMakeLists.txt

Here’s a minimal working configuration:

cmake_minimum_required(VERSION 3.22)
project(MyPlugin VERSION 1.0.0)
 
# Add JUCE
add_subdirectory(external/JUCE)
 
# Create the plugin
juce_add_plugin(MyPlugin
    PLUGIN_MANUFACTURER_CODE Btcn
    PLUGIN_CODE Mypl
    FORMATS VST3 AU
    PRODUCT_NAME "My Plugin"
    COMPANY_NAME "My Company"
)
 
# Add source files
target_sources(MyPlugin PRIVATE
    src/PluginProcessor.cpp
    src/PluginEditor.cpp
)
 
# Link JUCE modules
target_link_libraries(MyPlugin PRIVATE
    juce::juce_audio_basics
    juce::juce_audio_processors
    juce::juce_audio_utils
    juce::juce_gui_basics
)

Video Tutorial

5-minute walkthrough of your first build