STREAMBRIDGE Docs Discord v1.0.1

Getting started

StreamBridge Documentation

StreamBridge is a live DCC-to-Unity sync plugin. Geometry, skinning, vertex colors, hierarchy, and transforms from Blender or 3ds Max appear in the Unity Editor as you edit — no manual export, no stale previews.

last updated 11 May 2026 · v1.0.1

What StreamBridge is — and isn't

StreamBridge consists of two parts: a Unity Editor package and a DCC plugin (Blender or 3ds Max). They open a persistent TCP connection and stream scene previews from your DCC into the Unity Editor.

It's a preview tool, not an asset pipeline

Objects you see in Unity while connected are live previews of your DCC scene — not Unity project assets. When you're happy with a model, export it from your DCC to commit it to the project.

What's actually streamed

Meshesvertices, indices, normals, UV0, vertex colors, multi-submesh layouts, smooth/flat shading
Skinned meshes & animationbone weights (up to 4 influences/vertex), skeletons, per-frame bone transforms
Transformsposition, rotation, scale, with coordinate-system conversion
Hierarchyparent/child relationships, automatically mirrored
Visibilityoptional hide/show sync
Material slot routingper-submesh material names, matched to existing Unity materials by name
Object lifecycleadd, delete, rename are tracked
What is not streamed

No PBR channel data, textures, light properties, camera FOV/clipping, blend shapes, or UV1. Lights and cameras sync as transforms only. Material assignment is by name match against existing Unity materials — your shader graphs stay intact, but no PBR values cross the wire.

Requirements

Software

Unity6000.0+
Blender4.2+
3ds Max2023+

Operating systems

Windows 10 / 11✓
macOS 12+✓
Linux✗

Render pipelines

Built-in RP✓
URP✓
HDRP✓

StreamBridge is pipeline-agnostic — synced objects use a standard MeshFilter + MeshRenderer, so the same workflow applies to all three pipelines.

How it works

StreamBridge uses a client-server model over TCP. Unity acts as the server; the DCC plugin is the client.

Blender / 3ds Max

CLIENT

Unity Editor

SERVER

Wire formatFlatBuffers, optionally Zstd-compressed
Default port8190, bound to 127.0.0.1 only
LAN / cross-machinetoggle "Listen on all interfaces" on the Unity side, then connect to that machine's IP from the DCC
Update modelthe DCC plugin observes its update graph (Blender depsgraph / Max change callbacks) and pushes deltas — only what changed is sent
Coordinate conversionBlender and 3ds Max (Z-up, right-handed) convert to Unity (Y-up, left-handed) automatically; a toggle disables this if your scene is already Unity-space

Unity

Unity package

The Unity package hosts the StreamBridge server and creates GameObjects from incoming data.

Install the package

1

Add StreamBridge to your Unity account

Open the StreamBridge listing on the Unity Asset Store and click Add to My Assets.

2

Import in your project

Window → Package Manager → My Assets. Find StreamBridge, click Download, then Import.

3

Open the StreamBridge window

Window → StreamBridge. You're ready to start the server.

StreamBridge window

The window has three areas: connection status, server settings, and a log. Click Start Server — Unity opens TCP 8190 on localhost and the status indicator turns yellow. When a DCC connects it turns green, and synced objects appear under a root GameObject (typically StreamBridge) mirroring the DCC hierarchy.

Edit Mode only

The server runs while the Unity Editor is in Edit Mode. Entering Play Mode pauses the sync; exiting Play Mode resumes it.

Live preview & export

Live previews are not project assets

Synced GameObjects use instance meshes that live inside the scene. Saving the scene persists the geometry, but there's no .mesh or .asset under Assets/ — it can't be prefabbed, referenced from another scene, or managed through the Asset Database. For that, export from your DCC and let Unity's FBX importer handle it.

1

Iterate live

Sculpt, paint vertex colors, re-skin, re-parent — everything shows up in Unity in real time. Validate scale, lighting and material slots against your real scene.

2

Export when you're happy

From the DCC, export an FBX (or use the tagged-file export) into your Unity project folder. Unity's standard FBX importer turns it into project assets.

3

Replace the preview with the imported asset

Drop the imported prefab where the preview lives, transfer Unity-side components (colliders, scripts), then disconnect StreamBridge.

Material slot routing

StreamBridge does not send PBR data. What it sends per submesh is the material name. Unity looks for a material asset with that name and assigns it to the slot. No match → the slot falls back to the Default Material on the StreamBridge Server GameObject. Name your DCC materials to match the Unity assets you've already authored; your URP / HDRP shader graphs stay intact.

Receiving DCC exports

A tagged export from the DCC ships the file over the same connection; Unity writes it into your project (default Assets/StreamBridge/) and reimports it. Take over that flow two ways:

Subscribe to the StreamBridgeServer event from any editor code — good for prototyping, logging, one-off post-processing.

[InitializeOnLoad]
static class StreamBridgeExportHook
{
    static StreamBridgeExportHook()
    {
        var server = Object.FindFirstObjectByType<StreamBridgeServer>();
        if (server == null) return;

        // fires after the file is written + AssetDatabase.ImportAsset()
        server.OnFileTransferReceived += (fileName, assetPath) =>
        {
            Debug.Log($"[StreamBridge] received {fileName} → {assetPath}");
            var asset = AssetDatabase.LoadAssetAtPath<GameObject>(assetPath);
            if (asset != null) PrefabUtility.InstantiatePrefab(asset);
        };
    }
}
Tags come from the DCC side

Both DCC plugins define tagged export presets: Blender under Edit → Preferences → Add-ons → StreamBridge; 3ds Max directly in the StreamBridge dialog. Each preset name is sent as the import tag and matched to the right handler — falling back to the default if nothing matches.

Settings reference

On the StreamBridge Server GameObject's Inspector (created by Window → StreamBridge → Create Server). The editor panel itself only shows status and Start/Stop/Clear. No pipeline-specific setup is needed — a default material is auto-generated using the best shader for your pipeline (URP Lit → HDRP Lit → Standard).

Portintegerdefault: 8190

TCP port Unity listens on. Must match the port set in the DCC plugin. Change if 8190 is occupied.

Listen On All Interfacesbooleandefault: off

Off binds to 127.0.0.1 — only same-machine clients connect. On for cross-machine setups over LAN or VPN.

Default MaterialMaterialauto-assigned

Fallback when a submesh material name doesn't match any project material. Auto-set to Assets/StreamBridge/DefaultMaterial.mat (URP Lit → HDRP Lit → Standard); replace with your own if you like.

Convert Coordinatesbooleandefault: off

Re-converts incoming transforms on the Unity side. The DCC plugins already convert Z-up RH to Y-up LH — leave off unless your DCC sends Unity-space coordinates.

Sync RootTransformdefault: none

Optional parent Transform. Synced GameObjects are created as its children, keeping them grouped under your own root.

Additional Material FoldersFolder[]default: empty

Extra project folders the material-by-name lookup searches. Narrow or extend the search to specific asset libraries.

Sync Visibilitybooleandefault: off

On: hiding an object in the DCC also hides the GameObject. Off keeps Unity-side visibility independent.

Blender

Blender add-on

Ships as a standard add-on for Blender 4.2+ through 5.0+ on Windows and macOS. Native Python modules for 3.11 / 3.12 / 3.13 are bundled — no extra Python install.

Install the add-on

The add-on is bundled with the Unity package — no separate download. The Unity-side installer copies it into Blender's user folder and picks the right native module automatically.

1

Install the Unity package first

If you haven't already, follow Unity → Install the package.

2

Run the installer from Unity

Edit → Preferences → StreamBridge → Install Blender Addon. Unity copies the add-on and the matching native module into Blender's user add-ons folder.

3

Start Blender and enable the add-on

Edit → Preferences → Add-ons, search "StreamBridge", tick the checkbox. Confirm via Window → Toggle System Console: "[StreamBridge] Addon registered successfully".

4

Open the panel

In the 3D Viewport press N for the side panel, then click the StreamBridge tab.

"Module not found" on enable?

Your Blender's Python version doesn't match a bundled native module. Shipped: Python 3.11 (Blender 4.2–4.4), 3.12 (4.5 / 5.0), 3.13 (5.1+). Use a supported Blender release.

Panel settings

Hoststringdefault: localhost

IP or hostname of the machine running Unity. localhost / 127.0.0.1 for same-machine sync.

Portintegerdefault: 8190

Must match the port set in the Unity StreamBridge window.

Sync Modeenumdefault: Responsive

Responsive pushes updates as you edit (~0.1s throttle). Performance batches on a configurable interval (100–5000 ms) — pick this for heavier scenes.

Sync Visibilitybooleandefault: off

On: hiding/unhiding in Blender's outliner also hides the matching GameObject in Unity.

Workflow

1

Start the Unity server

In Unity, click Start Server in the StreamBridge window.

2

Connect from Blender

In the N-panel, leave Host/Port at defaults (or adjust for LAN) and click Connect. The status indicator turns green on handshake.

3

Send the scene

Click Sync All to push the current scene, or just start editing — in Responsive mode the depsgraph picks up each change automatically.

4

Iterate

Move, sculpt, sub-d, paint vertex colors, re-parent in the outliner — every change streams to Unity.

5

Export when ready

When the model is finished, FBX-export it into your Unity project to commit it as a real asset.

What's synced from Blender

Mesh vertices / indices / normals / UV0✓smooth / flat shading per face
Vertex colors (RGBA)✓streams on every edit
Multi-submesh / per-material indices✓material slot routing by name
Transforms (location / rotation / scale)✓coordinate-converted to Unity space
Hierarchy / parenting✓outliner re-parenting reflects in Unity
Add / Delete / Rename✓driven by the depsgraph
Visibility✓optional, off by default
Armatures & skinning✓up to 4 bone influences per vertex
Animation (timeline / pose)✓per-frame bone transforms while scrubbing

Limitations

Materialsonly the material name is sent — no Principled BSDF parameters, textures, or shader nodes
Shape keysblend shapes are not synced
UV1 (lightmap UVs)not synced; the protocol has a slot but the exporter doesn't populate it yet
Particle systemsonly baked particle meshes are seen
Modifierssent at the current viewport-evaluated level (e.g. Subdivision uses viewport level, not render level)
Lights / camerasonly transforms sync — color, intensity, type, FOV, clipping do not

3ds Max

3ds Max plugin

Mirrors the Blender feature set. Supports 3ds Max 2023+ on Windows (x64) only.

Beta status

Same feature set as the Blender add-on, but less real-world testing. Please report anything unexpected via the bug report form.

Install the plugin

1

Install the Unity package first

If you haven't already, follow Unity → Install the package.

2

Run the installer from Unity

Edit → Preferences → StreamBridge → Install 3ds Max Plugin. Point it at your Max install if prompted.

3

Start (or restart) 3ds Max

The plugin registers MacroScripts under the StreamBridge category. No toolbar or menu entry appears on its own. Confirm via a [StreamBridge] line in the MaxScript Listener.

4

Add a toolbar or menu button (required)

Customize → Customize User Interface → category StreamBridge → drag StreamBridge_OpenPanel onto a toolbar. Other actions (Connect, SyncSelected, SyncAll, ToggleAutoSync, ExportSelected, ClearScene) can be added the same way.

Workflow

1

Start the Unity server

In Unity, click Start Server in the StreamBridge window.

2

Open the StreamBridge dialog

Click the StreamBridge_OpenPanel button you added during install. The dialog opens as a floating window.

3

Connect from 3ds Max

Leave Host/Port at defaults (or adjust for LAN) and click Connect.

4

Send the scene

Sync All pushes the scene; Sync Selected pushes picked nodes. Toggle Auto-Sync to stream changes as you edit — the plugin polls on a configurable interval and pushes deltas.

5

Iterate

Edit modifier stacks, paint vertex colors, re-parent in the Scene Explorer. Use Performance Mode for heavy scenes (100–5000 ms batching).

6

Export when ready

FBX-export into your Unity project to commit the final asset.

What's synced from 3ds Max

Mesh vertices / indices / normals / UV0✓triangulated; smooth / flat detected
Vertex colors (RGBA)✓streams on every edit
Multi/Sub-Object materials✓sub-material names route to submesh slots
Transforms (position / rotation / scale)✓converted Z-up RH → Y-up LH
Hierarchy / parenting✓Scene Explorer re-parenting reflects in Unity
Add / Delete / Rename✓detected by a periodic scene scan
Visibility✓optional; off by default
Skin modifier (bones & weights)✓up to 4 bone influences per vertex
Animation (timeline / pose)✓per-frame bone transforms while scrubbing

Limitations

Materialsonly the material name is sent — Physical / Standard / V-Ray / Corona / Arnold parameters and texture maps are not synced
Forest Pack / RailClonescattered instances appear as their baked output meshes only
XRef ScenesXRef'd objects must be merged into the main scene before they can sync
Lights / camerastransforms only — IES profiles, intensity, color, FOV do not transfer
Modifierssent as the evaluated mesh at the current stack output

Reference

Network setup

Same machine (default): no configuration. Host localhost, port 8190. The server binds to 127.0.0.1 only — not exposed to your network, safe by default. VPN / remote works the same way as LAN with the VPN-assigned IP.

Different machines (LAN)

1

Enable "Listen on all interfaces" in Unity

In the StreamBridge window. The server now accepts connections from other machines.

2

Find the Unity machine's IP

Windows: ipconfig → IPv4 Address (e.g. 192.168.1.45). macOS: System Settings → Network → Details.

3

Allow the port through the firewall

Windows: Defender Firewall → Advanced Settings → Inbound Rules → New Rule → allow TCP 8190. macOS: allow incoming connections to the Unity Editor.

4

Connect from the DCC machine

Set Host to the Unity machine's IP, keep Port 8190, click Connect.

Troubleshooting

"Cannot connect" / connection refused+

Make sure you clicked Start Server in Unity first. Unity must be in Edit Mode — the server pauses in Play Mode. Host and port in the DCC must match Unity (default localhost / 8190). Connecting from another machine? Confirm "Listen on all interfaces" is on and the firewall allows TCP 8190 inbound.

Sync is slow / DCC is laggy+

Switch Sync Mode from Responsive to Performance and raise the batch interval (start at 500 ms). Hide objects you're not actively editing — they're skipped. Very high-poly meshes (millions of verts) are noticeable on every edit: iterate at a lower subdivision level and crank it up before exporting.

Materials look wrong in Unity+

Assignment is by name match — make sure a Unity material with the same name as the DCC slot exists. The auto-generated DefaultMaterial.mat uses the best shader for your pipeline at creation time; if you've switched pipelines since, swap its shader, delete it and re-create the server, or point Default Material at your own. No PBR values, textures, or shader nodes transfer — that's expected, not a bug.

Objects appear at the wrong scale+

In Blender, apply object scale (Ctrl+A → Scale) before syncing. In 3ds Max, reset XForm if scale was non-uniformly transformed. Match your DCC scene units to Unity's — 1 unit = 1 metre.

3ds Max installer fails+

Close every 3ds Max instance before running the installer. Antivirus occasionally blocks plugin writes — temporarily exclude the install folder if needed.

Colors differ between live sync and exported FBX+

If vertex colors or tints look right in your DCC and in the exported FBX but the live preview looks washed-out or shifted, it's most likely an open bug with sRGB ↔ linear conversion on the live-sync path. Please open a bug report with: DCC + Unity versions, pipeline, color space in Player Settings, what the color looks like in each of the three places, and a side-by-side screenshot.

Still stuck? Pop into the Discord first — most setup hiccups get sorted in a few messages. If that doesn't crack it, open a bug report with your Unity version, DCC version, OS, what you did, what happened, and the StreamBridge log contents.

FAQ

Is it a one-time purchase or a subscription?+

One-time purchase on the Unity Asset Store. All future updates within the major version are included.

Does it work in Play Mode?+

No. The server only runs in Edit Mode. Entering Play Mode pauses the sync; exiting resumes it.

Can multiple artists connect at once?+

One DCC client per Unity instance at a time.

Will my custom shaders work?+

Yes — StreamBridge doesn't touch shaders. It assigns Unity materials to mesh slots by name, so whatever shader those materials use stays in place.

Does it sync textures or PBR maps?+

No. Only the material name is sent. Authoring the look stays on the Unity side; iteration on geometry/skinning stays on the DCC side.

Does it work on Linux?+

No. Windows and macOS only.

Changelog

v1.0.1 August 2026
+Minor bug fixes
v1.0.0 May 2026 · initial public release
+Initial public release
+Blender 4.2+ support (Python 3.11 / 3.12 / 3.13 modules)
+3ds Max 2023+ support
+Unity 6 (6000.0+) — render-pipeline-agnostic
+Mesh sync: vertices, normals, UV0, vertex colors, multi-submesh
+Skinned-mesh and animation streaming
+Object lifecycle (add / delete / rename)
+Material slot routing by name match
+Responsive and Performance sync modes
+"Listen on all interfaces" toggle for cross-machine setups
← HOME streambridge3d.com