Troubleshooting

Troubleshooting

The failures that cost the most time here aren’t the ones that error. They’re the sends that succeed and produce a model that’s the wrong size, or invisible, or that showcade quietly stops following. This page is organised by what you actually see.

The model is the wrong size in showcade

Check scene.unit_settings.scale_length first. If it isn’t 1.0, your metre isn’t a metre: the GLB is exported in metres as authored and showcade doesn’t compensate, so the model arrives off by exactly that factor. The panel warns when it sees this. Set it to 1.0 for a 1:1 export.

The extension never rescales, by design — the browser converts metres to table units, because only it knows the target device’s footprint.

The panel says the selection is scene-sized

the selection is 31.4 m across — over 5 m is scene-sized, not prop-sized

This measures the box around everything you selected, not each object’s own box. That distinction is the whole point: “I selected the entire level” is many small objects spread over 30 m, and a per-object measurement would never catch it. Lights and cameras in the selection don’t count — they contribute nothing to the export, so their positions don’t inflate the measurement.

There’s a matching warning under 1 cm, where showcade’s auto-fit would be scaling up roughly a thousandfold.

Both are advisory — the send proceeds. They exist because a units mistake is otherwise invisible until the model looks wrong in the browser.

The model uploads but doesn’t appear

Check compression. Showcade registers no decoder-backed glTF extensions, so a compressed GLB is one it silently fails to load. The extension forces every compression path off — Draco, native meshopt, and gltfpack — and refuses an override that tries to turn one back on, naming what it refused rather than ignoring it quietly. If you’re exporting through some other route, turn all three off yourself.

Nothing gets sent

nothing selected and the active collection is empty — select the objects to send

Source is Selection, nothing is selected, and the fallback to the active collection found nothing either. Select the objects you want.

An empty selection is never treated as “the whole scene” — Whole Scene is a deliberate pick from the Source dropdown, not something you arrive at by accident.

Every send fails with a permission error

Blender 4.2’s extension model denies network access unless the extension’s manifest asks for it. Showcade Bridge asks — but if it’s been installed as a loose folder rather than as an extension, that request isn’t read and every send fails with something that reads like a transport bug. Reinstall it as an extension (Install from Disk, or from the extension repository).

A 401 some time after signing in

The session expired. Press Sign in again.

Sessions expire; upload tokens don’t. The two credentials fail identically from outside, so the extension’s message names both causes — if you’re using an upload token instead, check it in preferences.

A 403 saying the endpoint is read-only

You sent the shared upload token to a deployment that doesn’t take one. The hosted product verifies user sessions instead of a shared secret, so a send carrying only the token comes back 403 catalog is read-only.

The fix is Sign in — the session it stores takes precedence over the token from then on. If you’re pointed at a private deployment that is supposed to take a token, set the right one in preferences. See Configuring the Bridge.

Ctrl+Shift+E does nothing

Another add-on has probably claimed it — a collision in the modifier space is a matter of time. The shortcut is drawn in Preferences ▸ Add-ons ▸ Showcade Bridge ▸ Keymap with Blender’s stock rebind widget; change it there and the change persists.

It’s registered in the Object Mode keymap, so it also does nothing in Edit Mode — the panel itself is Object Mode only.

Showcade stopped following a collection’s updates

The collection was probably unlinked, or given a new identity with New Link. A binding made before that keeps pointing at the last version it saw; it doesn’t break, it just stops advancing.

The link tag row in the panel shows the current state — either the tag, or “not linked — the first send mints an id”.

A re-send uploads a whole new copy every time

The name is changing between sends. Deduplication is on the combination of content hash and name, so a timestamp or a version number in the name defeats it. Keep the name stable and let the link identity carry the versioning — that’s what it’s for.

Copy Handle produces nothing

Blender’s clipboard reads back empty when Blender is running headless, because there’s no windowing system to own a selection. Copy Handle only works in a normal GUI session.