Blender to Browser in One Click: A Deep Dive on the Cotoon Plugin
features blender pipeline technical

Blender to Browser in One Click: A Deep Dive on the Cotoon Plugin

How Cotoon's desktop app and Blender add-on eliminate the gap between your local files and your production pipeline.

T

The Cotoon Team

Every animator knows the friction. You finish a pass in Blender, save the file, then spend the next few minutes manually uploading it to your project management tool, tagging it correctly, and notifying your team. It’s two minutes of busywork, but it happens dozens of times a day — and it’s exactly the kind of low-value friction that pulls you out of a creative flow.

We built the Cotoon desktop app and Blender add-on to eliminate that gap entirely. Here’s how it all works under the hood.

The System at a Glance

The integration is made up of three parts working in concert: a lightweight Blender add-on that watches for file saves, a desktop app running quietly in your system tray, and a custom URL protocol that lets them talk to each other instantly. When all three are running, the moment you hit Cmd+S in Blender, your file is automatically queued for upload — no switching apps, no manual steps.

The Blender Add-on: A Silent Observer

The add-on (cotoon-blender-autoqueue) is a small Python script that registers a single persistent handler on Blender’s save_post event. Every time you save a .blend file, it fires.

The handler does something elegant in its simplicity: it takes the saved file path, URL-encodes it, and constructs a custom deep link — my-uploader://add?path=... — then triggers that URL using the OS’s native protocol handler. On macOS, this is a subprocess call to open -g (the -g flag is critical — it opens the target app in the background without stealing focus). On Windows, it uses os.startfile.

The result is that Blender never pauses. It saves, fires the event, and the add-on hands off to the desktop app invisibly. Your 3D viewport stays front and center.

Folder Filtering: Only Watch What Matters

The add-on ships with an optional preference that lets you restrict its behavior to a specific folder. If you set a Watched Folder, only saves inside that directory (and its subfolders) will trigger the queue. This is ideal for artists who have a dedicated production folder — it means personal scratch files or tutorial projects saved elsewhere won’t accidentally end up in your studio’s upload queue.

The folder check uses os.path.commonpath to confirm the file is genuinely a child of the watched directory, which also handles edge cases like Windows cross-drive saves gracefully.

The Desktop App: The Bridge

The desktop app is built with Electron and lives in your system tray, running quietly in the background. When macOS or Windows receives the my-uploader:// protocol URL fired by the add-on, the OS routes it directly to the Cotoon desktop app.

The app processes the incoming path in a processDeepLink function that deliberately distinguishes between two types of incoming requests: auth callbacks (which need the window to come forward) and file additions (which should stay completely invisible). When a file comes in via the Blender add-on, the window never surfaces. On macOS, the dock icon bounces once to signal that something happened — and that’s it.

The queued file is then processed: it’s read from disk, converted for web viewing, and uploaded to your Cotoon workspace in the correct project stage.

One-Click Installation

We wanted setup to be as frictionless as the workflow itself. The desktop app automatically scans your system for installed Blender versions by checking the standard config paths (~/Library/Application Support/Blender on macOS, %APPDATA%/Blender Foundation/Blender on Windows). It lists every version it finds and shows you whether the Cotoon add-on is already installed for each one.

A single click copies the add-on file into the correct scripts/addons directory and then runs a background Blender process to enable the add-on programmatically — so you never have to open Blender’s Preferences panel manually. Your watched folder setting is also synced from the desktop app directly into Blender’s preferences the same way, so you configure everything in one place.

The Export Pipeline: Browser-Ready 3D

Uploading a raw .blend file is only half the story. For assets that need to be reviewable directly in the Cotoon browser interface — without any plugins — the app also runs a background export pipeline.

When you queue a file for export, the desktop app spawns a headless Blender process and runs a Python export script against it. You can configure resolution, compression, render engine, and which objects to include. The script scans the scene hierarchy (respecting collection visibility and object parenting), bakes textures into an atlas, and outputs a web-optimized format that renders in any modern browser.

The scene scanner reads Blender’s view layer directly — respecting the “eye” icon visibility you’ve set in the Outliner — so what your team sees in the browser matches exactly what you see in your viewport.

Once the export succeeds, the output path is handed back to the desktop app, uploaded to Supabase storage, and published to the correct stage in your Cotoon project. Then the temp files are cleaned up automatically.

What This Looks Like in Practice

In a typical session, an artist opens their character rig, makes adjustments, and saves. The dock icon bounces. Ten seconds later, a new version appears in Cotoon — complete with a browser-viewable 3D preview — and the director gets a notification. No emails, no manual uploads, no “hey can you send me the latest version” messages.

The whole pipeline is designed around one principle: your tools should disappear. The best production software is the kind you stop thinking about, because it just quietly does its job while you focus on the work.


The Blender plugin and desktop app are currently in early access. If you want to try it on your production, get in touch — we’re onboarding studios directly.

Back to Blog