REF] Configure Model
The node that makes your UNet reference-aware (and there are no alternatives to it)
- model
- MODEL
Every other node in ComfyUI-RefUNet is either moving data around or waiting on this one. ConfigureRefNet is the node that actually modifies your model: it walks the UNet, finds every self-attention block (the BasicTransformerBlocks in the input, middle, and output sections), and swaps in this pack's RefTransformerBlock - a subclass that knows how to write reference features to and read them from the shared REF_BANK. The input is a plain MODEL, the output is that same MODEL, now reference-aware. No parameters, no options, one job.
And it's a job you have to do twice. A reference-UNet workflow loads two UNets: the reference network (e.g. FYE_referencenet-fp16.safetensors for FollowYourEmoji) that does the write pass, and the main UNet that generates the animation. Both need a ConfigureRefNet on them - the write model's blocks have to be able to store features, the read model's blocks have to be able to retrieve them. The pack's example workflow shows this exactly: one ConfigureRefNet per UNETLoader.
Mechanically it's a monkey-patch. The node does block.__class__ = RefTransformerBlock on every matching block, replacing the class in place. That's efficient and invisible at the wiring level, but it's also why the pack is fragile to ComfyUI updates: it reaches straight into comfy.ldm.modules.attention and openaimodel and assumes their structure hasn't changed since mid-2024. The pack has been quiet since August 2024, so when a big ComfyUI release lands, this is a candidate for breakage - if you see attention-related errors after an update, this node is the first suspect, and pinning or rolling back ComfyUI is the usual fix.
Install is the pack-wide step: ComfyUI Manager → search "ComfyUI-RefUNet", or git clone https://github.com/logtd/ComfyUI-RefUNet into custom_nodes/, restart. No Python requirements (README-confirmed). The model files themselves - FYE_unet and FYE_referencenet - come from Kijai's FollowYourEmoji safetensors repo on HuggingFace and go into models/unet/.
Two things people trip on. First, the node is architecture-specific: it looks for SD1.5-style UNet blocks, so it does nothing useful on SDXL/Flux/DiT checkpoints - if you feed it a modern model you're not getting reference features, you're getting a no-op. Second, forgetting the second ConfigureRefNet is the classic "works on write, dead on read" bug: the write pass captures features fine, but the animation pass never looks at them, so your character drifts off the reference and everyone blames the sampler. Check both models before you blame the sampler.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |