ComfyUI Node

State Manager (legacy)

The old name for the same State Manager — keep it or migrate

By xmarre·Created 7 months ago·Updated 8 days ago· 13
State Manager (legacy)
    • dora_state
    • positive_prompt_template
    • negative_prompt_template
    • settings_json
    • selected_lora_stack
    • state_settings
    • seed
    • state_control
    • character_image
    • fileimage_prefix
    state_json{"version":1,"kind":"dora_state_manager_binding"}
    ui_state_json{"version":2}
    selected_character_iddefault_character
    selected_prompt_iddefault_prompt

    If you open a workflow and see a node called State Manager (legacy), that's this one - the old class name for the pack's State Manager. It's the same node under a backward-compatible alias, kept around so workflows made with earlier versions of ComfyUI-DoRA-Dynamic-LoRA-Loader keep loading without you having to rewire anything. New graphs should use State Manager, but if this alias is already in your graph, it just works.

    What it actually does

    It's a persistent state library. You save reusable "characters" - a character's LoRA stacks across multiple DoRA Power LoRA Loaders, positive/negative prompt templates, seed state, and a reference thumbnail - and the workflow JSON only carries the UUID binding plus a little queue config. The heavy data (names, prompts, LoRA stacks, settings) lives on disk in a per-user library:

    <ComfyUI user directory>/<active user id>/dora_state_manager/state-library.json
    

    That means you can swap characters or prompt presets without touching the graph, and your workflow files stay small and diff-able. The required inputs (state_json, ui_state_json, selected_character_id, selected_prompt_id) are hidden binding widgets - you don't type into them, the frontend manages them.

    Migration: the one thing to know

    The storage redesign moved the library out of the browser's localStorage and onto disk, and the old browser backup is no longer read. If you have presets that exist only in an old browser backup, they won't auto-import - you need to do an explicit transition:

    1. Temporarily run the pack at v1.0.40.
    2. Open the workflow so its backup is restored.
    3. Export or save the restored state.
    4. Update the pack, then import/migrate it.

    Workflows that embed the older schema-v3 library migrate automatically on first load. If the node reports a selected preset as "unavailable," it means the UUID isn't in the library on this machine - it deliberately does not fall back to a local character, so you know something's missing instead of silently getting the wrong one.

    Outputs and wiring

    Outputs: dora_state (typed payload for the DoRA Power LoRA Loader), positive_prompt_template, negative_prompt_template, settings_json, selected_lora_stack, state_settings, seed, state_control, character_image, and fileimage_prefix. The old runtime path - dora_state into the loader, prompt templates straight into the prompt path - still works for legacy graphs, but the README is blunt: don't build new workflows on it. Use state_control plus State Text Box / State Seed instead.

    Install

    Same pack, one install: search ComfyUI-DoRA-Dynamic-LoRA-Loader in ComfyUI Manager, or git clone https://github.com/xmarre/ComfyUI-DoRA-Dynamic-LoRA-Loader into custom_nodes, then restart. No extra dependencies.

    Verdict: if a workflow hands you this alias, leave it. If you're starting fresh, grab the current State Manager node - same brain, current wiring.

    Categorystate managers

    Inputs (4)

    NameTypeDefaultDescription
    state_jsonSTRING{"version":1,"kind":"dora_state_manager_binding"}
    ui_state_jsonSTRING{"version":2}
    selected_character_idSTRINGdefault_character
    selected_prompt_idSTRINGdefault_prompt

    Outputs (10)

    NameTypeDescription
    dora_stateDORA_STATE
    positive_prompt_templateSTRING
    negative_prompt_templateSTRING
    settings_jsonSTRING
    selected_lora_stackDORA_LORA_STACK
    state_settingsDORA_STATE_SETTINGS
    seedINT
    state_controlSTATE_MANAGER_CONTROL
    character_imageIMAGE
    fileimage_prefixSTRING