WanVideo Uni3C Controlnet Loader
Camera and 3D control for Wan
- compile_args
- controlnet
Uni3C is a controlnet for Wan aimed at camera and 3D control - the headline use is applying deliberate camera moves to a still image, so instead of Wan inventing whatever motion it likes, you steer the shot. This node loads the Uni3C controlnet model and outputs a WANVIDEOCONTROLNET that plugs into the Uni3C conditioning path (its embeds feed the sampler's uni3c_embeds input).
It's a niche but genuinely useful piece. Camera control has been a recurring "can I actually do this yet?" question in the Wan community, and Uni3C is one of the real answers. It's not something most first workflows need - reach for it when you specifically want controlled camera motion rather than emergent motion.
How it works
A controlnet conditions the diffusion process on an auxiliary signal. Uni3C's signal encodes 3D/camera information, so the generation follows a specified camera trajectory (orbits, pushes, pans) applied over your input. This loader gets the controlnet weights into memory with your chosen precision and attention backend; the actual conditioning is assembled by the Uni3C embeds path and handed to the sampler.
The inputs that matter
model- the Uni3C controlnet file. That's the model you're loading.base_precision(default fp16) - fp16 is the sensible default.quantization(default disabled) -fp8_e4m3fn/fp8_e5m2are available to shave VRAM, since the controlnet stacks on top of an already-large Wan model and every bit of memory counts.attention_mode(default sdpa) -sdpaneeds nothing;sageattnis faster if you have it installed.compile_args(optional) - torch.compile the controlnet too if you're already set up for it.
Output is a single WANVIDEOCONTROLNET.
How to install it
Part of the pack. Via ComfyUI Manager: search WanVideo Wrapper, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper
pip install -r ComfyUI-WanVideoWrapper/requirements.txt
then restart. The Uni3C controlnet weights are a separate download; drop them where the pack expects controlnet models and restart so the dropdown populates.
Common issues & troubleshooting
Empty dropdown. The Uni3C weights aren't downloaded yet. Grab the controlnet model and restart.
Camera control isn't doing much. Loading the controlnet is only step one - you need the Uni3C embeds path built and wired into the sampler's uni3c_embeds input, with an actual camera trajectory driving it. The loader by itself doesn't move the camera.
VRAM pressure. A controlnet is extra weight on top of the base Wan model. Set quantization to fp8, lean on block swap on the model loader, and keep resolution modest. Stacking Uni3C on a already-tight card is where OOM shows up.
It feels early/rough. Uni3C for Wan has evolved through a few iterations, and community usage is still relatively thin compared to core Wan features. Expect to do some trial and error on trajectory strength and to check that your version of the node matches the controlnet weights you downloaded.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | These models are loaded from the 'ComfyUI/models/controlnet' -folder | |
| base_precision | COMBO | fp16 | 3 options: fp32, bf16, fp16 |
| quantization | COMBO | disabled | optional quantization method |
| load_device | COMBO | offload_device | Initial device to load the model to, NOT recommended with the larger models unless you have 48GB+ VRAM |
| attention_mode | COMBO | sdpa | 2 options: sdpa, sageattn |
| compile_argsopt | WANCOMPILEARGS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| controlnet | WANVIDEOCONTROLNET | — |