Nodes/Bubba Nodes/Bubba Sampler Controls
ComfyUI Node

Bubba Sampler Controls

Stop Retyping Steps and CFG Into Every KSampler

By bubbafett5611·Created 5 months ago·Updated 2 months ago· 0
Bubba Sampler Controls
    • steps
    • cfg
    • sampler_name
    • scheduler
    • denoise
    steps20
    cfg8.0
    sampler_name
    scheduler
    denoise1.00

    Bubba Sampler Controls solves the most boring, repetitive problem in multi-sampler workflows: the same steps, CFG, sampler, scheduler, and denoise typed into five different KSamplers. Change your mind about CFG and you get to edit five widgets. This node holds those five values once and fans them out, so you edit one place and every sampler follows.

    It's a pure "one source, many consumers" plumbing node - the exact pattern the modidex KB's node-plumbing essay describes as the base case for value nodes. If you're building a model-comparison rig or a hi-res-fix pipeline with multiple sampling passes, this is the node that keeps the settings honest across branches. And because it outputs plain INT, FLOAT, and COMBO sockets, it plugs straight into any KSampler - no pipe required.

    How it works

    There's no computation here, which is the point. The five widgets - steps (default 20), cfg (default 8), sampler_name, scheduler, denoise (default 1.0) - each come out as their own output socket with the same name. Wire steps into every sampler's steps input, cfg into every CFG input, and so on. One edit upstream, five samplers updated. sampler_name and scheduler are dropdowns populated from whatever samplers and schedulers your ComfyUI build actually supports, so you won't get a typo'd sampler name silently ignored.

    A small but real design detail: the denoise default is 1.0, which is right for txt2img. If you're fanning these into an img2img or hires pass where you want different denoise per branch, just don't wire denoise from this node into that one branch - the widget stays yours to override per sampler.

    The two nodes you'll use it with

    Bubba Sampler Controls pairs naturally with Bubba Seed Control (same pack, same philosophy - one shared seed). The README's model-comparison workflow wires them side by side: Seed Control's integer output into each sampler's seed, Sampler Controls' five outputs into each sampler's steps/CFG/sampler/scheduler/denoise. Together they turn a multi-branch comparison into a graph where the only thing you touch between runs is two nodes.

    How to install it

    It's part of the Bubba_Nodes pack, so the install is the pack install. ComfyUI Manager → search "Bubba Nodes" → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/bubbafett5611/bubba_nodes.git
    

    restart ComfyUI, and python -m pip install -r requirements.txt if the console complains. Dependencies are minimal (aiohttp, pydantic), and the pack requires ComfyUI v0.27.0+ because it registers nodes through the newer V3 API.

    Gotchas

    The most common failure isn't a bug, it's a stale value: you tweak CFG on the Sampler Controls node, hit run, and a sampler somewhere is still at the old setting - because you forgot to wire its CFG input here in the first place. Half-connected is the default state of every fan-out setup, so when a branch misbehaves, check its individual widgets first. Also note the obvious-but-easy-to-miss: this node has no pipe input and doesn't touch metadata, so it only helps samplers you explicitly wire to it. And because the pack is young with essentially no community tutorial trail yet, the README's comparison-workflow section is currently the best guide to using it - it's short and worth reading before you wire up five branches by hand.

    CategoryBubba Nodes/Workflow

    Inputs (5)

    NameTypeDefaultDescription
    stepsINT201–10000
    cfgFLOAT8.00–100
    sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
    schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
    denoiseFLOAT1.000–1

    Outputs (5)

    NameTypeDescription
    stepsINT
    cfgFLOAT
    sampler_nameCOMBO
    schedulerCOMBO
    denoiseFLOAT