Staging
UBStagingNode is just Staging wearing its old name — here's why the alias exists
- Stage Data
If you searched for "UBStagingNode," you've almost certainly loaded an old saved workflow - and the good news is it works. UBStagingNode is not a separate node. It's a legacy alias that resolves to the same StagingNode class from the ComfyUI-scene-camera-action pack, registered so older graphs keep loading without you hunting through a workflow file to rename nodes.
Here's the story: the pack's code still carries its earlier life in its header - "Unboring 3D Studio Nodes (ComfyUI-UB-3D-Studio)" - and it's by Arturo Paracuellos, who runs Unboring.net. That "UB" prefix is the old project name. When the pack was renamed to ComfyUI-scene-camera-action, the author kept the old class registrations around: UBStagingNode, UBActingNode, UBDirectingNode, plus SceneNode and StageNode, all still map to the real nodes so nobody's saved work explodes on update. If you look at the pack's source you'll see NODE_CLASS_MAPPINGS holding both the current and the legacy names, and even the server's upload endpoints are registered under both /scene_camera_action/ and the old /ub_3d_studio/ routes.
What it actually is
It's the Staging node - the first step of the pack's Staging ➔ Acting ➔ Directing pipeline for turning ComfyUI video generation into an interactive 3D previz. In the node menu you'll see it under scene-camera-action as "Staging," not "UBStagingNode," so in new work that's what you should drop on the canvas. Staging hosts a browser-embedded three.js viewport where you pick a bundled preset (race_track, industrial_ruin, courthouse_square, etc.), add and arrange cube geometry, and emit Stage Data for an Acting node downstream. Nothing needs an AI model or a GPU on the server - the 3D runs in WebGL in your tab.
Which name should you use?
New graph: use Staging. Old graph: leave the UB name alone - it loads fine, and if you upgrade to the current node it's the identical class under a different menu entry. About the only time the legacy name bites is if you're writing your own workflow JSON or API scripts by hand, where you might see "type": "UBStagingNode" in old files and briefly wonder if it's some other pack. It isn't.
Install
Same as the whole pack: ComfyUI Manager → search "Scene Camera Action", or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/arturitu/ComfyUI-scene-camera-action.git
pip install -r ComfyUI-scene-camera-action/requirements.txt
Restart ComfyUI. No models, no keys - the actors and presets ship inside the repo. If a freshly-cloned old workflow with UB names still errors on a different missing node, that's a different pack; this one's aliases are handled.
Worth knowing: the pack is new and niche - don't expect a huge library of community workflows yet. But the alias naming means the author is thinking about backward compatibility from day one, which is a decent signal for a solo-built tool.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| stage_dataopt | STRING | Serialized JSON data of the stage configurations |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Stage Data | * | — |