State Manager (legacy)
The old name for the same State Manager — keep it or migrate
- dora_state
- positive_prompt_template
- negative_prompt_template
- settings_json
- selected_lora_stack
- state_settings
- seed
- state_control
- character_image
- fileimage_prefix
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:
- Temporarily run the pack at v1.0.40.
- Open the workflow so its backup is restored.
- Export or save the restored state.
- 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| state_json | STRING | {"version":1,"kind":"dora_state_manager_binding"} | — |
| ui_state_json | STRING | {"version":2} | — |
| selected_character_id | STRING | default_character | — |
| selected_prompt_id | STRING | default_prompt | — |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| dora_state | DORA_STATE | — |
| positive_prompt_template | STRING | — |
| negative_prompt_template | STRING | — |
| settings_json | STRING | — |
| selected_lora_stack | DORA_LORA_STACK | — |
| state_settings | DORA_STATE_SETTINGS | — |
| seed | INT | — |
| state_control | STATE_MANAGER_CONTROL | — |
| character_image | IMAGE | — |
| fileimage_prefix | STRING | — |