ComfyUI Node

Pass Sampler

One sampler choice, wired everywhere

By r-vage·Created about a year ago·Updated 5 months ago· 23
Pass Sampler
    • sampler_name
    sampler_name

    Pass Sampler is a wire-able sampler selector: it takes a sampler_name value and re-emits it, with the input locked to forceInput so you feed it from elsewhere rather than typing into it. The point is routing - one sampler choice shared across many sampling nodes, changed in one place.

    To understand why this node exists, look at how a normal ComfyUI graph works. Every KSampler carries its own sampler_name dropdown, and if you want all five samplers in a big workflow to use the same method, you either set the dropdown five times (and forget one) or you hunt for something that can expose the choice as a wire. That's the gap RvTools was filling: the README frames the whole passer family as a fix for nodes that had trouble getting values from bypassed inputs. This node turns a sampler name into a first-class signal you can route - wire a selector or a shared source into its sampler_name input, and feed the output to every KSampler that needs it.

    The list on the node is the full stock ComfyUI sampler set - 44 entries, from the workhorse euler and euler_ancestral through the DPM++ family (dpmpp_2m, dpmpp_2m_sde, dpmpp_3m_sde, …), plus ddim, uni_pc, lcm, and the res_multistep family. Worth remembering the sampler.json wisdom while you're here: for DDPM-style models (SD 1.5, SDXL and its finetunes) the old dpmpp_2m + Karras shortlist still holds, while flow-matching models like Flux want Euler-family samplers and a conservative schedule. The node doesn't care about any of that - it passes strings - but it's your excuse to be intentional about the choice you're broadcasting.

    What's on it

    • sampler_name (enum, required) - the sampler to route; forceInput, so you must wire it from a source rather than pick from the list here.
    • Output sampler_name - the same value, ready to feed any sampler input.

    Yes, the dropdown appears but the input is forced - that's intentional. The widget is essentially a type declaration; the value comes down the wire.

    Install

    Ships in ComfyUI-RvTools_v2. ComfyUI Manager → search "ComfyUI-RvTools_v2" → install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/r-vage/ComfyUI-RvTools_v2
    

    Find it under RvTools II / DEPRECATED. No model downloads; standard pip deps only.

    Two honest caveats

    This node is flagged DEPRECATED in the pack - it lives under the Deprecated category, and the whole pack has been superseded by ComfyUI_Eclipse. It still runs fine, and if your workflow was saved with it, keep it. But if you're building fresh, prefer the modern way to share a sampler choice, which is usually a selector node or a group. Also note it shares the pack's v1 history: workflows referencing RvTools v1 won't resolve because that repo was pulled; v2's rename is why this node exists.

    Category🫦 RvTools II/ DEPRECATED

    Inputs (1)

    NameTypeDefaultDescription
    sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38

    Outputs (1)

    NameTypeDescription
    sampler_nameeuler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2