Unique3DLoadPipeline
The Quiet Node That Loads the Refine Pipeline (and Downloads a Few GB on First Run)
- pipe
Unique3DLoadPipeline is the least glamorous node in this pack, and that's kind of the point. It doesn't generate anything. It doesn't reconstruct anything. It just assembles a diffusion pipeline - a diffusers SD1.5 img2img pipe with a tile ControlNet bolted on, and optionally an IP-Adapter - and hands it to the Unique3DRun - Geo Reconstruct node as a pipe. If you never turn on do_refine in that node, you can ignore this one entirely. If you do, this is the node that makes the refined multiview pass possible.
Why it exists
Unique3D's official pipeline has a "refine" step where the four predicted views get pushed back through Stable Diffusion at higher resolution, using the original image as a tile-ControlNet condition, to sharpen texture detail and kill seams. That pass needs a working SD1.5 pipeline, and rather than lean on your existing ComfyUI checkpoints, this pack loads its own via diffusers. Unique3DLoadPipeline is that loader. It hard-codes runwayml/stable-diffusion-v1-5 as the base model and reads the tile ControlNet from ckpt/controlnet-tile inside the pack folder - which is why those weights are part of the download list, not optional extras.
The first time you run it, be ready for a download. It pulls the SD1.5 weights from Hugging Face, and if ip_adapter is on, it also grabs the CLIP image encoder plus the IP-Adapter weights (ip-adapter-plus_sd15.safetensors or ip-adapter_sd15.safetensors depending on plus_model) from Tencent's h94/IP-Adapter repo. That's several GB and a real wait on a slow connection. It only happens once - the pipe is cached for the session.
The inputs that matter
Two toggles, both True/False:
ip_adapter- whether to attach IP-Adapter to the pipe. This is the image-prompt adapter, so it lets the refine pass lean on the reference image's content, not just the tile structure. The catch: it costs VRAM and triggers that extra download. If you're not runningdo_refine, leave it off.plus_model- only meaningful ifip_adapteris on.Trueloads the newer, strongerip-adapter-plus_sd15;Falsefalls back to the originalip-adapter_sd15. In practice,Trueis what you want when you bother with IP-Adapter at all.
The output
One output: pipe, type Unique3DPipeline. There's exactly one consumer in the wild - the Unique3DRun - Geo Reconstruct node in this same pack. Wire it into that node's pipe input. Nothing else in ComfyUI understands this type.
Installing the pack
Read this before you install, because it's a heavier lift than most custom nodes. The repo is archived (the author points new users to ComfyUI-3D-Pack, which now ships its own Unique3D implementation) - this still works, but nothing is getting fixed.
cd ComfyUI/custom_nodes
git clone https://github.com/jtydhr88/ComfyUI-Unique3D.git
Then, on Windows, you need the triton wheel for Python 3.11 (from madbuda/triton-windows-builds on Hugging Face) dropped inside the pack folder, and you run the bundled install_windows_portable_win_py311_cu121.bat - answer Y when it asks about removing things. It pins diffusers==0.27.2 and swaps in a CUDA-12.1 build of onnxruntime-gpu, so expect it to fight with any other pack that wants a newer diffusers. Finally, download the weights from the Hugging Face space into ckpt/ with this exact layout:
ComfyUI-Unique3D/ckpt/
controlnet-tile/
image2normal/
img2mvimg/
realesrgan-x4.onnx
v1-inference.yaml
The README also insists ComfyUI-3D-Pack be installed first. That's partly because the example workflow previews the mesh with its [Comfy3D] Preview node, but if you want the full intended experience, don't skip it. The author's advice to "download a new ComfyUI bundle" if anything breaks tells you everything about how fragile this install is.
Troubleshooting
- pytorch3d
DLL load failed while importing _C(Windows):pip uninstall pytorch3d, thenpip install git+https://github.com/facebookresearch/pytorch3d.git@stable. _catter_cuda.pydentry-point error: uninstall and reinstalltorch_scatter.- onnxruntime errors on startup: the README says these don't affect mesh generation - "maybe". Treat any console warning from this pack with suspicion; the mesh path runs on the CUDA provider for onnxruntime, and if it actually fails you'll see it at generation time, not load time.
If your goal is image-to-3D and you don't specifically need this pack's refine pass, the maintained ComfyUI-3D-Pack path is the less painful route in 2026. This node is for when you want Unique3D's original refine behavior specifically.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| ip_adapter | COMBO | 2 options: true, false | |
| plus_model | COMBO | 2 options: true, false |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pipe | Unique3DPipeline | — |